- 面向对象
- 有对象 后有类
- 对象是具体的
- 类是抽象的
- 类是对象的模板
- 对象是类的实例化
- 三大特性
-
封装
- 高内聚 低耦合
- 属性私有
- 使用set和get 操作私有属性
public class Stu { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
-
继承
- 子类(派生类)是父类(基类)的扩展
- 只有单继承,没有多继承
- 其他的关系
- 组合(作为另一个类的实例变量)
- 依赖
- 聚合(作为一个局部变量)
- 所有的类都是继承Object类
public class Per { private String name; private int age; private String address; public Per() { } public Per(String name, int age, String address) { this.name = name; this.age = age; this.address = address; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
public class Stu extends Per { private long num; public Stu() { //调用父类的无参构造函数 必须放在第一行 super(); } public Stu(String name, int age, String address, long num) { //调用父类的有参构造函数 super(name, age, address); this.num = num; } public long getNum() { return num; } public void setNum(long num) { this.num = num; } @Override public String toString() { return "Stu{" + "num=" + num + '}'; } }
- 多态
- 本质就是以类的方式组织代码 以对象的组织(封装)数据。
- 构造方法
- 方法名与类名相同
- 不需要返回值
- 作用
- new 一个对象的时候,必须得有构造器
- 声明有参构造函数之后,还想使用无参的构造函数 必须声明无参构造函数