Java面向对象基础详解

目录
  • 一、前言
  • 什么是对象?
  • 什么是类?
  • 类和对象的关系?
  • 类的定义 ?
  • 怎么创建对象?
    • 格式:
    • 创建对象的作用?
      • Phone类下:
      • PhoneDemo下:
  • 二、封装
    • 封装的好处?
      • Student类下:
      • 代码:
      • StudentDemo类下:
      • 代码:
  • 总结

一、前言

我们上次学过java的方法,现在我们来学习新的一篇,也算是java中比较重要的一节了

面向对象基础是java中核心。

面向对象主要包括封装、继承、多态

我们这节主要讲的是封装,在这之前我们先来了解一下类和对象的定义和关系

什么是对象?

世间一切都是对象,万物解释对象,对象就是看得见摸得着的东西。

什么是类?

类是现实生活中对具有属性和行为同一类的总称。

类和对象的关系?

类是对象的抽象化,对象是类的实例化

类的定义 ?

类是java中的基本概念,java中就是以类为基础的,由类所构成的

怎么创建对象?

创建对象是java中常用的形式

格式:

类名 对象名=new 类名();举例 Phone  p=new Phone();

创建对象的作用?

通过创建对象,该类实例化,我们就可以通过创建的对象访问该类下所有成员也可以修改

所访问的成员变量。(不包括private修饰的成员)

创建两个类,

Phone类下:

PhoneDemo下:

Phone类下:

public class Phone {
    public int price=3999;
    public String brand="华为";
    public static void playGame(){
        System.out.println("这手机可以打游戏");
    }
}

PhoneDemo下:

public class PhoneDemo {
    public static void main(String[] args) {
        Phone p=new Phone();//创建对象
        System.out.println(p.brand);
        System.out.println(p.price);
        p.playGame();
    }
}

以上我们演示了创建对象的作用功能。

通过对象的修改这里就不一一演示了。

二、封装

封装是把类中的成员用private修饰使他不能被所以改变,然后提供get/set方法对锁封装

的成员进行赋值和赋值限制。

封装的好处?

封装使数据变得更有条理,我们提供的条件可以对外接输入的值进行筛选和判断,比如

设一个年龄,我们可以设置年龄的范围,和年龄的非负,并且给出相应的提示。

封装的演示图:

Student类下:

代码:


    public class Student {
        private String name;
        private int age;
        public Student(){}//无参构造
       public Student(String name,int age){// 有参构造
           if(age<0){
               System.out.println("你输入的年龄有误,默认为18岁");
               this.age=18;   this.name=name;}
           else{
           this.age=age;this.name=name;}
       }
       public void setName(String name){//get/set方法
           this.name=name;
       }
       public String getName(){
            return name;
        }
       public void setAge(int age){
           if(age<0){
               System.out.println("你输入的年龄有误,默认为18岁");
               this.age=18;
           }else{
               this.age=age;
           }
       }
       public int getAge(){
           return age;
       }
}

StudentDemo类下:

代码:

public class StudentDemo {
    public static void main(String[] args) {
        Student s=new Student();//创建无参对象
        s.setAge(20);
        s.setName("张三");
        System.out.println(s.getName()+" ,"+s.getAge());
        s=new Student("李四",-1);//创建对象的同时赋值
        System.out.println(s.getName()+","+s.getAge());
    }
}

我们也可以在输入年龄的时候加上Sanner进行键盘上的输入这里就不演示了

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java基础详解之面向对象的那些事儿

    一.面向对象的理解 首先,要清楚一点,与面向过程不同,面向对象有着自己独特的优势.举个通俗的例子,设想我们要得到一把椅子,面向过程的话我们可能需要通过买木材,设计图纸,最后切割而成.但对于面向对象来说,我们只需找到一个家具店,买一把椅子即可. 面向对象也是Java语言的特点之一,其实从idea中不难看出,这种面向对象的语言所具有: 1.易维护 2.易复用 3.易扩展 二.三大特性 2.1 继承(extends): 顾名思义,是获取原有的基础,在此基础上进行操作的一个过程.使用已存在的类的定义作为

  • Java基础之面向对象机制(多态、继承)底层实现

    一.Java的前世 为什么会产生Java?Java的特点是什么? 从C语言开始讲,C语言是一种结构化语言,模块化编程,便于程序的调试,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件.其缺点就是封装性弱,程序的安全性上不是很好.C语言的异常处理一般使用setjmp()与longjmp(),在捕获到异常时进行跳转:或者使用abort()和exit()两个函数,强行终止程序的运

  • Java面向对象基础教学(一)

    目录 1.如何定义类 2.如何定义属性 3.如何定义普通方法 4.如何创建对象 5.如何定义构造方法 6.什么是可变参数,怎么用? 总结 1.如何定义类 语法: 访问修饰符 class 类名{ } public class skills{ } 2.如何定义属性 语法: 属性写在类里面 数据类型  变量名; public class hero{ String sex; String name; } 3.如何定义普通方法 语法: 访问修饰符 返回值 方法名(参数){ } public void at

  • Java面向对象基础教学(二)

    目录 1.使用访问修饰符: 2.static关键字: 3.this关键字 总结 1.使用访问修饰符: 访问修饰符 同一个类中 同一个包中 子类中 所有类中 private √ -- -- -- default √ √ -- -- protected √ √ √ -- public √ √ √ √ 注释:private:私密的    default:默认值    protected:受保护的    public:公共的 访问控制级别:private→default→protected→public

  • Java基础之从HelloWorld到面向对象

    目录 1. "Hello World!" 2.编译与运行 3.变量 4.数组 5.表达式 5.1 数学表达式 5.2关系表达式 5.3 布林表达式 5.4 位运算 6.控制结构 6.1 选择 (if) 6.2 循环 (while) 6.3 循环 (do... while) 6.4 循环 (for) 6.5 跳过或跳出循环 6.6 选择 (switch) 7.面向对象 8.总结 1. "Hello World!" 先来看一个HelloWorld.java程序.这个程序

  • Java面向对象基础教学(三)

    目录 1.包是什么: 2.Java面向对象程序设计三大重要特征: (1)封装: (2)继承extends: (3)多态 3.instanceof 运算符 总结 1.包是什么: 包相当于文件夹,把不同类型的文档归类,分别放到不同的文件夹中 语法: package <包名>; 声明一个包的语句必须放在类中的第一行 包的导入:import <包名>.<类名>:也可以 import <包名>.*: 2.Java面向对象程序设计三大重要特征: (1)封装: 将类的某些

  • Java面向对象基础详解

    目录 一.前言 什么是对象? 什么是类? 类和对象的关系? 类的定义 ? 怎么创建对象? 格式: 创建对象的作用? Phone类下: PhoneDemo下: 二.封装 封装的好处? Student类下: 代码: StudentDemo类下: 代码: 总结 一.前言 我们上次学过java的方法,现在我们来学习新的一篇,也算是java中比较重要的一节了 面向对象基础是java中核心. 面向对象主要包括封装.继承.多态 我们这节主要讲的是封装,在这之前我们先来了解一下类和对象的定义和关系 什么是对象?

  • java数组基础详解

    数组 数组(Array):相同类型数据的集合. Java 数组初始化的两种方法: 静态初始化: 程序员在初始化数组时为数组每个元素赋值: 动态初始化: 数组初始化时,程序员只指定数组的长度,由系统为每个元素赋初值. 数组是否必须初始化 对于这个问题,关键在于要弄清楚数组变量和数组对象的差别.数组变量是存放在栈内存中的,数组对象是存放在堆内存中的.数组变量只是一个引用变量,他能够指向实际的数组对象. 所谓的数组初始化并非对数组变量初始化,而是对数组对象进行初始化. 定义数组 方式1(推荐,更能表明

  • php面向对象基础详解【星际争霸游戏案例】

    本文实例讲述了php面向对象基础.分享给大家供大家参考,具体如下: 前言 面向对象博大精深,对于从未接触过得的人,会觉得一头雾水. 学习的资料很多,但大多比较抽象,所以我用经典的游戏-星际争霸来讨论PHP面向对象. 现在假设我们来用PHP开发星际争霸,从而接触PHP面向对象. 注意,为了便于学习,除了特殊说明,否则各部分代码之间没有关联.而且同一件事情往往用的是不同的代码. 另外我也不去考证各个兵种的属性数字,仅仅用来说明. 一.类和对象 如果玩家制造了一个机枪兵,那么我们怎么表示他呢,因为每个

  • java多线程:基础详解

    目录 Java内存模型 主内存和工作内存的交互命令 内存模型的原子性 内存模型的可见性 内存模型的有序性 指令重排优化的底层原理 valatile原理 volatile与加锁的区别 先行发生原则 线程的三种实现方式 总结 Java内存模型 Java内存模型与Java内存结构不同,Java内存结构指的是jvm内存分区.Java内存模型描述的是多线程环境下原子性,可见性,有序性的规则和保障. Java内存模型提供了主内存和工作内存两种抽象,主内存指的是共享区域 ,工作内存指的是线程私有工作空间. 当

  • Java 基础详解(泛型、集合、IO、反射)

    计划把 Java 基础的有些部分再次看一遍,巩固一下,下面以及以后就会分享自己再次学习的一点笔记!不是有关标题的所有知识点,只是自己觉得模糊的一些知识点. 1.对于泛型类而言,你若没有指明其类型,默认为Object: 2.在继承泛型类以及接口的时候可以指明泛型的类型,也可以不指明: 3.泛型也数据库中的应用: 写一个 DAO 类对数据库中的数据进行增删改查其类型声明为 <T> .每张表对应一个类,对应每一张表实现一个类继承该 DAO 类并指明 DAO 泛型为该数据表对应的类,再实现一个与该表匹

  • Java基础详解之包装类的装箱拆箱

    一.包装类 概念: Java提供了两个类型系统,基本数据类型和引用数据类型,使用基本数据类型在于效率,然而很多情况下回创建对象使用,因为对象能做更多的功能. 所以可以使用一个类,把基本数据类型包装起来,在类中定义一些方法,这就叫做包装类.我们可以用这种方法来操作这些数据类型 基本类型 对应包装类(位于java.lang中) byte Byte short Short int Integer long Long float Float double Double char Character bo

  • Java基础详解之集合框架工具Collections

    一.Collections 说明:Collcetions是集合框架中的工具,特点是方法都是静态的. 二.Collections中的常见方法 1,对list进行二分查找:前提该集合一定要有序. int binarySearch(list,key);//要求list集合中的元素都是Comparable的子类. int binarySearch(list,key,Comparator); 2,对list集合进行排序. sort(list); sort(list,comaprator); 3,对集合取最

  • java基础详解之数据类型知识点总结

    一.基本数据类型 1.1 整形 1.1.1 int int a = Integer.MAX_VALUE;//int最大值 int b = Integer.MIN_VALUE;//int最小值 在java中int占4个字节,和操作系统每任何关系.这也是java的可移植性. int 能表示的范围为-231~231-1,如果超出最大值或者小于最小值则会发生溢出. public static void main(String[] args) { int a = Integer.MAX_VALUE;//i

  • Java基础详解之内存泄漏

    一.什么是内存泄漏 内存泄漏是指你向系统申请分配内存进行使用(new/malloc),然后系统在堆内存中给这个对象申请一块内存空间,但当我们使用完了却没有归系统(delete),导致这个不使用的对象一直占据内存单元,造成系统将不能再把它分配给需要的程序. 一次内存泄漏的危害可以忽略不计,但是内存泄漏堆积则后果很严重,无论多少内存,迟早会被占完,造成内存泄漏. 二.Java内存泄漏引起的原因 1.静态集合类引起内存泄漏: 像HashMap.Vector等的使用最容易出现内存泄露,这些静态变量的生命

  • java开发RocketMQ消息中间件原理基础详解

    RocketMQ 是什么 Github 上关于 RocketMQ 的介绍: RcoketMQ 是一款低延迟.高可靠.可伸缩.易于使用的消息中间件.具有以下特性: 支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型 在一个队列中可靠的先进先出(FIFO)和严格的顺序传递 支持拉(pull)和推(push)两种消息模式 单一队列百万消息的堆积能力 支持多种消息协议,如 JMS.MQTT 等 分布式高可用的部署架构,满足至少一次消息传递语义 提供 docker 镜像用于隔离测试和云集群部署 提

随机推荐