JavaBean和构造方法、常用的关键字
一个JavaBean类包含三部分内容:
- 成员变量私有化
- 对应的Getter和Setter方法
- 有空参构造方法
JavaBean类称之为Java的标准类
JavaBean升华版
- 成员变量私有化
- 对应的Getter和Setter方法
- 空参构造方法
- 全参构造方法
- 重写的toString()方法
- 重写的equals()方法
- 重写的hashCode()方法
- 序列化 实现序列化接口 Serializable
备注:
JavaBean类当中不要出现业务型代码
构造方法:
它是类当中的一种非常特殊的函数。
特点:
- ①方法名称是确定的,它的名字必须和它所在的类的类名完全保持一致(大小写也要相同)
- ②构造方法在声明时不指定具体的返回值类型 (不是void)
- ③如果在类当中没有手动声明构造函数,程序会默认添加一个构造函数(空参构造),但是如果开发者手动声明了构造方法,那么系统会自动收回添加的无参构造方法。
- ④如果想要使用类当中的带参构造方法,需要开发者手动声明。
- ⑤构造方法可以以方法重载的形式出现在同一类中
语法格式:
修饰符 类名(参数列表){ } 个数--[0,n]
备注:
大多数情况下,构造方法的修饰符都是使用public
意义:
- 可以通过构造函数实例化该类对象
- 在实例化类对象时可以对对象当中的成员变量进行初始化
备注:
如果类当中对Object类当中的toString()方法进行重写,当我们打印对象时,程序会自动调用toString(),并且调用的是重写之后的toString()方法
父子类构造方法
- 只能继承默认无参构造,父类当中的带参构造子类获取不到
- 在子类创建对象的时候,隐式的调用父类的构造方法,完成父类的实例化
- 调用父类的构造方法时,super(参数列表)语句只能出现在子类构造方法内部的第一行有效语句位置上,同时不允许通过new 父类名(参数列表)的形式进行父类初始化动作
- super(参数列表)语句它只能出现在构造方法内部,不能写在其他位置上。
- 父类的构造方法和子类的构造方法可以不一致
常用关键字:
super关键字
当前子类对父类的一个引用(父类对象地址)
不能在静态环境中使用,使用规则和this一样的
引用父类的成员变量: super.成员变量名;
引用父类的成员方法: super.成员方法(参数列表值);
引用父类的构造方法: super(参数列表)---->指的是它的直接父类
final关键字:
表示最终的,最后的,不可变的
1.当final修饰类的时候,表示该类是一个最终类,意思是他不能有子类出现
2.当final修饰方法的时候,表示该方法是一个最终方法,意思是该方法不能被重写。
3.当final修饰变量的时候,表达该变量的值是一个最终值,意思是该变量的值不能再次修改。
备注:
final修饰局部变量,只能够赋值一次,当修饰的是引用的类型的时候,不能被重新赋值,但是可以修改对象的属性值
final修饰成员变量,只能够赋值一次,但是可以在不同的地方进行赋值(可以在构造方法中也可以在构造代码块中)
static关键字:
表示静态的,属于类的
1.被static修饰的成员变量属于类,不属于这个类的某个对象(多个对象共享一个static修饰的成员变量)
2.在静态环境(被static修饰)中只能直接使用静态的信息,不能直接使用非静态的信息在非静态环境中,可以直接使用静态的信息,当然也可以使用直接使用非静态的信息
3.在静态环境中不能使用this/super关键字
代码块:
局部代码块:
随着方法的加载而加载 { } 定义在方法中
构造代码块:
随着构造方法的加载而加载(优先于构造方法加载) { } 定义在成员变量的位置上
静态代码块:
随着类的加载而加载(只会加载一次) static{ } 定义在成员变量的位置上
静态代码块-->main()--->构造代码块--->构造方法
在父子类当中
加载环境在子类中进行:
父类静态代码块--->子类静态代码块--->main()--->父类的构造代码块--->父类的构造方法--->子类的构造代码块---->子类的构造方法
访问修饰符:
public protected 默认不写 private
当前类中 √ √ √ √
当前包中(其他类中) √ √ √ x
不同包的(子类当中) √ √(子类对象) x x
不同包的(无关类当中) √ x x x

浙公网安备 33010602011771号