封装、继承、多态的概念

封装

封装是将代码隐藏起来,仅仅暴露一个访问接口来使用,在操作上使用get/set方法

好处:

  1. 提高程序的安全性,保护数据
  2. 隐藏代码的实现细节
  3. 统一接口
  4. 系统可维护性大大增加
package oop;

public class student {
    private String name;
    private int age;
    private char sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age> 0 ){this.age=age;}
        else  {this.age=8;}
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
}

package oop;

public class Application {
    public static void main(String[] args) {
        student s1 = new student();
        s1.setName("小明");
        System.out.println(s1.getName());
        s1.setAge(1);
        System.out.println(s1.getAge());

    }
}

继承

继承是子类可以自动的继承父类的全部方法!使用关键字 extends

注:

  1. java中所有的类都默认继承object类
  2. java中只有单继承没有多继承,单继承就是一个子类只能有一个父类,而一个父类可以用多个子类

Super关键字:

  1. super调用父类的构造方法,必须在构造方法的第一个
  2. super必须只能出现在子类的方法或者构造方法中
  3. super和this不能同时调用构造方法

与this的区别:

  1. this本身调用的是自身的对象
  2. super代表的是父类对象的应用
  3. this没继承只能使用,super只能在继承的条件下才能使用
  4. this()是本类的构造
  5. super()是父类的构造

方法的重写

  1. 方法名必须相同
  2. 参数列表必须相同
  3. 修饰符范围可以扩大不能缩小
  4. 抛出的异常可以缩小但不能扩大
  5. 一定是在继承中子类重写父类的方法 override
  6. 重写只是方法体的不同

多态

多态是指子类自身的类型是确定的,但是子类指向的引用类型是不确定的。father A = new son();

多态存在的条件:

  1. 有继承关系
  2. 子类重写了父类的方法
  3. 父类引用指向子类的对象
package oop;

public class Application {
    public static void main(String[] args) {
        //实例化两个对象
        student s1 = new student();
        Teacher s2 = new student();
        //s1可以使用父子的方法
        s1.say();
        s1.run();
        //s2只能使用父类的方法
        s2.say();
        //进行强制类型转换后,就可以使用父子的方法
        ((student)s2).run();
        ((student)s2).say();
        
        //注意:由高到低需要强制类型转换,而由低到高则不需要


    }
}
posted on 2022-07-20 17:11  clinch  阅读(1517)  评论(0编辑  收藏  举报