方法重载
-
必须在一个类中
-
方法名相同
-
参数列表的个数和类型不同
-
返回值和修饰符没有关系
static关键字
static关键字用法
用static声明的变量为静态成员变量
用static修饰的属性和方法为类属性和类方法
1.从属于类,只有一份,在类被载入时显式初始化
2.一般用”类名.类属性/方法“ 来调用
3.在static方法中不可直接访问非static的成员
4.static 修饰的变量属于这个类所有,即这个类创建的所有对象共用一个static变量
非静态的变量是依赖于对象存在的,对象必须实例化之后,它的变量才会在内存中存在。而非静态 方法需要访问非静态变量,所以对非静态方法的访问也是针对某一个具体的对象的方法进行的。
static初始化
构造方法用于对象的初始化
静态初始化块,用于类的初始化操作
在静态初始化块中不能直接访问非static成员
类变量不能是局部变量
this
this关键字是Java中常用的关键字,可用于任何实例方法内指向当前实例对象,也可指向对其调用当前方法的对象,或者在需要当前类型对象引用时使用。
this.就是成员变量 this 是局部变量
this 可以在方法内部获取到对象中的属性信息
this 说白了也就是 正在执行当前这个方法的对象
this()访问构造方法
this()用来访问本类中的构造方法(构造方法时类的一种特殊方法,方法名称与类名相同,没有返回值。详细可了解之前的博客),括号中可以有参数,如果有参数就是调用指定的有参构造方法。
注意:
this()不能在普通方法中使用,只能写在构造方法中。
在构造方法中使用时,必须是第一条语句。
Super关键字
super可以访问到父类中的东西
this表示自己类中的内容
用super和this可以区分
1、super可以获取到父类的内容
2、可以调用中的构造方法,必须写在子类构造发法的第一行
封装
什么是封装?
数据隐藏,对于一个类而言,限制属性的可见性,不允许外部直接访问,将内部隐藏。
封装的优点
提高代码的安全性
提高代码的复用性
隐藏类的实现细节
封装的实现
Java中使用访问控制符来控制这些细节
通过封装我们可以知道哪些属性或方法需要封装
哪些属性或方法需要暴露出去
也就是说,通过private访问控制符隐藏数据,提供get set方法来访问
多态
什么是多态
多态:同一个对象有多种形态
作用:把不同的数据类型进行统一,让程序具有扩展性
1. 把子类的对象属性值赋给父类的变量 =>向上转型
缺点是: 会调用不到子类特有的方法
2.把父类的变量转化为子类的变量 =>向上转型
(需要强制类型转换)