面向对象06-10
/*
1.类与对象
类是一个模板:抽象,对象是一个具体的实例
2.方法
定义、调用!
3.对应的引用
引用类型: 基本类型(8)
对象是通过引用来操作的: 栈->堆
4.属性:字段Field 成员变量
默认初始化:
数字:0 0.0
char: u000
boolean:false
引用:null
修饰符 属性类型 属性名 = 属性值!
5.对象的创建和使用
-必须使用new 关键字创造对象,构造器 Person cafune = new Person();
-对象的属性 cafune.name
-对象的方法 cafune.sleep()
6.类
静态的属性 属性
动态的行为 方法
*/
//java三大特征 封装、继承、多态
封装
属性私有 get/set
程序设计要求“高内聚、低耦合”。 高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴漏少量的方法给外部使用
封装(数据的隐藏):应禁止直接访问一个对象中数据的实际表示,而应该通过操作接口来访问
/*
1.提高程序的安全性,保护数据
2.隐藏代码的实现细节
3.统一接口
4.系统的可维护性增加
*/
方法重载注意看方法名和参数列表
继承
继承的本质是堆某一批类的抽象,从而实现对现实世界更好的建模
extends -> 扩展 。子类是父类的扩展
JAVA中类只有单继承
继承是类和类之间的一种关系。(关系还包括:依赖,组合,聚合等)
继承
public class Teacher extends Person{
}
组合
public class Student{
Person person;
}
继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示
子类和父类之间,从意义上讲应该具有"is a"的关系
object类
super类:调用父类的构造器,必须要在子类的第一行
super注意点:
1.super调用父类的构造方法,必须在构造方法的第一个
2.super必须只能出现在子类的方法或者构造中
3.super和this不能同时调用构造方法
this注意点:
代表的对象不同:
this:本身调用者这个对象;
super:代表父类对象的应用
前提:
this:没有继承也可以使用
super:只能在继承条件下才可以使用
构造方法:
this():本类的构造
super():父类的构造
方法重写 ->多态
继承树快捷键ctrl+H