typora-root-url: img
java八大类型
面向对象的三个基本特征:封装,继承,多态;
封装:
将属性私有化,不允许外部数据直接访问,并设置相应的方法对属性进行
设置和读取,从而实现对属性访问的限制。这种限制属性访问的操作叫做封装。
main方法中运行测试,main方法 是程序的入口
对象创建过程理解
对象创建过程,区分构造方法和普通方法
访问控制
私有访问级别(private)只能在本类中通过调用方式访问,不能继承访问。
默认访问级别在同一包中两种访问方式都可以,不能在包之外访问。
保护访问级别(protected)在同一包中与默认访问级别一样,两种访问方式都可以。
但是在不同包之外只能继承访问。
共有访问级别(public)在任何情况下两种方式都可以。
继承:
将多个类公用的属性和方法写在父类里,子类使用extends关键字继承父类,就
可 以使用父类非私有化的属性和方法。
继承好处
1.提高代码的复用性,子类可以调用父类非私有的属性和方法,不用再次编写。
2.提高代码的维护性。
3.将类与类联系起来,是多态的前提。
4 子类访问父类用supper
5 集成后new Student() 会先构造出Person
继承后常见类型转换问题
在对象向下转型中,父类实例是不可能强制转换成任意子类实例,必须先通过子
类实例化,利用向上转型让父类对象与具体子类实例发生联系后才可以向下转型,
否则将出现ClassCastException异常
多态(Override 重写):
多态是基于对方法的覆盖来实现的. 同样是eat方法,Student可以有自己的表现形式
常见的 toString hashCode equals 是所有对象父类Object的方法,也是经常需要重写
的方法
toString()方法返回反映这个对象的字符串
equals 比较对象值,重写后一般比较对象属性值
== 比较对象地址
Person person1 =new Person();
Person person2 =new Person();
System.out.println("地址比较"+(person1==person2));
System.out.println("值比较 "+person1.equals(person2));
重载Overload
是指允许存在多个同名方法,而这些方法的参数不同
final
在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量),不过目
的是不让重写和修改
static
优先执行