JavaOOP:类和对象

777 查看

1、Java中类的概念及类与对象的关系

  • 什么是类?
    从语义上理解,类就是用于创建对象的模版,是一个抽象的概念;从语法上理解,类就是我们指定的一种数据类型;
  • 类和对象的关系
    语义上,类是创建对象的模版,对象是类的实例;语法上,类是自定义数据类型,对象是这种类型的变量;
  • 创建对象
    类名 对象名=new 类();
  • 引用对象成员
    引用对象属性:对象.属性;
    引用对象方法:对象.方法();

注意:字段属性默认为“private”;

2、Java中类的封装的作用与实现

字段成员公开属性:public、private,对核心成员对外不公开;属性成员setter、getter方法,对核心成员操作;

私有字段
属性
方法

private int stuNo;
public int getStuNo(){
    return stuNo;
}
public void setStuNo(int stuNo){
    this.stuNo=stuNo;
}

技巧:多属性封装大同小异,Eclipse右击source,generate Setter and Getter自动生成;

3、Java中的构造方法
构造方法:负责对象成员的初始化工作,创建类时可以对某些字段赋初值;
语法规则:方法名和类名相同,没有返回值【不是“void”】

public 类名(参数){
...
}

//原始构造方法(默认无参构造函数)
public Demo2() {
}

//构造方法重载
public Demo2(int stuNo, String stuName, String className) {
    this.stuNo = stuNo;
    this.stuName = stuName;
    this.className = className;
}

构造方法是Java类中一种特殊方法:

  • 该方法与类同名
  • 该方法无返回值
  • 该方法不能手工调用,它是在创建类的实例时系统自动调用
  • 一个类可以没有构造方法(隐式无参构造方法),也可以有多个构造方法,它们之间构成重载关系
  • 如果我们定义有参构造方法,屏蔽系统无参构造方法
  • 构造方法不能被重载

构造方法作用和使用场合:

  • 创建一个类的实例时,给私有变量赋初值
  • 简化我们为类字段赋值的代码

4、Java中的重载
当一个类中存在两个或两个以上同名的方法,当这两个方法满足以下关系时,他们之间构成重载关系:

  • 一个类中存在两个以上同名方法
  • 方法参数组合必须不同(参数个数或参数类型的组合不同)
  • 返回值类型不能作为判断方法是否重载的依据

要是你之前学过C++,就会觉得这部分挺简单的!