面向对象 oop
例: 电视 我们不需要知道电视的工作原理 只需要知道遥控器的使用方式就可以了 这就是面向对象,
以类的方式组织代码,以对象的方式组织(封装)数据
三大特征 封装 继承 多态
封装
例: 电视 不需要知道原理 厂家 把所用空间封装好了 我们去使用
高内聚低偶合
属性私有就是 get set
public class Demo18 {
public static void main(String[] args) {
Demo19 demo19 = new Demo19();
int age = 19;
demo19.setAge(age);
demo19.setName("张三");
demo19.prin();
}
}
public class Demo19 {
private String name;
private int age;
public void setName(String _name){
this.name = _name;
}
public String getName(){
return name;
}
public void setAge(int _age){
this.age = _age;
}
public int getAge(){
return age;
}
public void prin (){
System.out.println(this.name + "\t" + this.age);
}
}
继承 extends
protected 被保护的 super访问父类中被保护的方法
new 一个子类时 会去调用子类的构造函数 在这之前 会默认调用f父类的构造函数(子类构造方法最上面会默认写一个super();)
如果父类没有无参构造函数那么子类不能创建无参构造函数
重写
父类 n = new 子类
n.静态方法(调用的是父类的静态方法)
n.非静态方法(调用的是子类的方法)
重写方法 子类的修饰符(权限)可以扩大不可以缩小 抛出的异常 可以缩小但是不能扩大
多态
一个对象的实际类型是确定的 但是可以指向不确定的引用类型
instanceof