2022-07-21 第二第五小组 张晟源 (java封装)


JAVA封装

类与类之间的关系:

  • 继承
  • 属性关系
  • 参数关系

 

继承

继承核心是扩展父类功能

JAVA中继承只有单继承,只有一个直接父类,可以有多个间接父类,继承父类的属性,方法 

创建构造器,实例化的过程,当一个类被实例化,先实例化他的父类,直接父类,然后是他自己

说明:

class Sum{
    Integer age;
    String name;
    public  void sum(){
    }

    public Sum(Integer age, String name) {
        this.age = age;
        this.name = name;
        System.out.println("sum");
    }
}
class Cat extends Sum{
    public  void eat(){

    }

    public Cat(Integer age, String name) {
        super(age, name);
        System.out.println("cat");
    }
}
class Person extends Cat{
    public Person(Integer age, String name) {
        super(age, name);
        System.out.println("person");
    }
}
class Mao extends Cat{
    public Mao(Integer age, String name) {
        super(age, name);
        System.out.println("mao");
    }
}

public class Test1 {
    public static void main(String[] args) {
//        Sum s=new Sum(1,"1");
//        s.age=0;
//        Cat c=new Cat(1,"1");
//        c.sum();
//        Person p=new Person(1,"1");
//        Mao m=new Mao(1,"1");
//        m.eat();
        Mao m=new Mao(1,"1");



    }
}

运行结果:sum   cat   mao 

 

super关键字:

  • 调用父类的结构

this和super区别:

  • this调用当前类
  • super调用父类
  • this可以省略,super也可以省略(先在本类找,没有,去父类找)
  • this可以调本类构造器this(age),super调父类构造器
  • super调用父类构造器时,必须在第一行,和this冲突,2选1
  • this指向本类,代表对象;super指向父类,不能代表对象

 

方法重写

子类可以重写父类的方法

class Sum{
    Integer age;
    String name;
    public Sum(Integer age, String name) {
        this.age = age;
        this.name = name;
        System.out.println("sum");
    }
    public  void sum(){
        System.out.println("sum+=");
    }
}
class Cat extends Sum{
    public Cat(Integer age, String name) {
        super(age, name);
        System.out.println("cat");
    }
    public  void eat(){
    }
    public  void sum(){
        super.sum();
        System.out.println("cat+=");
    }
}

 

重写规则

  • 访问权限:重写的方法的权限不能低于被重写的权限,一般权限都用等于
  • 返回值类型:没有要求必须一样,可以不同,但必须是被重写方法的子类,一般都是一样
  • 方法体:一样
  • 参数列表:一样
  • 抛出异常:重写抛出的异常不能比被重写的异常大

 

原创文章,作者:Carrie001128,如若转载,请注明出处:https://blog.ytso.com/275801.html

(0)
上一篇 2022年7月21日
下一篇 2022年7月21日

相关推荐

发表回复

登录后才能评论