Java三大特性

it2025-04-19  4

封装

禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问 具体表现:

属性私有(private)get/set(提供一些可以操作这些属性的public方法)

意义:

提高程序的安全性,保护数据隐藏代码的实现细节统一接口系统可维护性增加

继承

本质:对某一批类对抽象,从而实现对现实世界更好的建模关键字:子类extends父类,子类是父类的扩展和派生注意:Java中类只有单继承,没有多继承!(一个儿子只能有一个爸爸,一个爸爸可以有多个儿子)子类继承父类,就拥有父类的全部方法!(前提是用public修饰) 在Java中,所有的类都默认直接或间接继承object类

this this表示当前这个类(本身调用者) 在没有继承也可以使用 this():本类的构造

super super表示父类对象的引用 在继承条件下才能使用 super():父类的构造 new子类时先调用父类的构造器super() 再调用子类的构造器 注意点: 1.super调用父类的构造方法,必须在构造的方法的第一个 2.super必须只能出现在子类的方法或者构造方法中 3.super和this不能同时调用构造方法!

多态

定义:同一方法可以根据发送对象的不同而采用多种不同的行为方式 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类及有关系的类)

Person s1 = new Student(); //父类的引用指向子类的对象 对象能执行哪些方法看对象左边的类型,和右边关系不大 子类能调用的方法都是自己或者继承父类的 父类可以指向子类,但不能调用子类独有的方法

注意点:

多态是方法的多态,属性没有多态父类和子类要有联系,没有的话会报类型转换异常(ClassCastException)

存在条件:

继承关系方法需要重写父类引用指向子类对象 Father f1 = new son()

不能重写(多态)的方法:

static修饰的方法,属于类,不属于实例final修饰的方法,在常量池里private修饰的方法,私有无法重写

意义:方便方法的调用,减少重复的代码 instanceof X instanceof Y能不能编译通过取决于删除线格式 X指向的实际类型是否和Y有继承关系 类型之间的转化:低(子)能直接转高(父),高需要强制类型转化为低 直转(向上转型)举例: Son son = new son(); Father father = son; 子类转换为父类,可能丢失自己的本来的一些方法 强转(向下转型)举例: Father f = new son(); Son son = (Son) f; son.方法名… 就是父类用不了子类方法 但是把自己伪装成子类(类型转换)就可以用了

最新回复(0)