面向对象的java编程
原创
©著作权归作者所有:来自51CTO博客作者ricerain的原创作品,请联系作者获取转载授权,否则将追究法律责任
面向对象的三个特征:继承,封装,多态
继承定义:在一个类基础上定义一个新类叫继承,原有的类叫父类,新生成的类叫子类。
继承特点:
1. 子类拥有父类的属性和方法
2. 子类可以有自己新的属性和方法
3. 子类可以重写(覆盖)父类的方法
4. 可以声明父类,创建子类
4.1. 声明的什么类型,就只能调用本类型的属性和方法(创建的子类自有方法 不能调用)
4.2. 创建的什么类型,运行什么类型的方法(本质上是创建的这个实体)
4.3. 创建的什么类型,就可以强转为什么类型
Final(可修饰类,属性,方法)
当用final修饰一个类时,表示此类不能被继承。
当用final修饰一个方法时,表示此方法不能被覆盖重写。
当用final修饰一个属性变量时,表示常量。(同时用static修饰,字母全部大写).
构造方法要注意的:
1. 创建子类一定会调用父类的构造方法
1.1. 子类父类都无构造方法,则子类隐式构造方法调父类隐式构造方法
2. 子类默认调用父类无参(显式或隐式)构造方法
3. 子类只能调用父类存在的构造方法
4. 子类构造方法中使用super调用父类构造方法,并且super必须放在第一行
封装定义:隐藏属性,方法与方法实现细节的过程称为封装。
Java实现封装用到的知识:方法,包与访问修饰符。
访问修饰符:
public >protected>默认>private
实体类:
类名与数据库表名一致,类中的属性与数据库表的字段名一致,并且属性是私有的,有两个与之对应得公有的get,set方法,我们把这样的类称为实体类。
面向对象之多态:
方法重载:类中的好几个方法,具有相同的方法名称,不同的参数列表
(关于访问修饰符,如果子类重写父类的方法,访问修饰符只能等于或者比父类更广。)
多态的两个最直接表现就是方法重写与方法重载。
抽象类:只有方法的声明,没有方法的实现。
子类继承自抽象类的三个选择:
1. 实现父类定义的所有抽象方法。
2. 不实现父类的抽象方法,把自定定义为抽象的。
3. 实现部分抽象方法(还有部分没实现),把自己定义为抽象类。
接口:(接口使用interface关键字声明;接口中的所有方法都是抽象方法,只有方法的声明,没有方法的实现,但是又没有abstract关键字)
接口特点一:接口只能声明,不能创建,创建接口的实现类
接口特点二:一个类可以实现多个接口
接口特点三:一个类可以既继承类又实现接口,但必须先继承后实现
接口特点四:接口可以继承接口,并且一个接口可以继承多个接口
两种特殊接口:
常量接口:定义类若干个static final的常量,并且没有任何方法。
标识接口:又称为空方法接口,一个接口中没有任何方法与变量的声明。
面向接口编程:
面向接口编程核心:我们项目中关心的不是某一个类也不是某一个对象,而是此类或者此对 象有没有实现我们定义的接口。
面向接口编程的表现:声明接口,创建实现类;方法参数声明接口,真正运行传递实现类。
面向接口编程优点: 使程序灵活,易于扩充,维护升级; 有了接口就可以编写程序。
附:聊聊多态
第一:多态就是多种形态,两个表现:方法重载方法重写。(对面试官把方法重载与方法重写的概念区别联系大喷一番)
第二:声明父类,创建子类是为多态服务
第三:抽象类,接口为多态服务。声明抽象类,创建子类;声明接口,创建实现类。这里可以把抽象类与接口理解为一种特殊的父类。这里,我们可以把子类实现抽象类或接口的抽象方法理解为重写父类的方法(方法重写),所以这个也是多态,或者说抽象类与接口也是为多态服务的。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章