• java之继承


    1、子类直接继承父类

    class Person1{
        private String name;
        private int age;
        public void setName(String name){
            this.name = name;
        }
        public String getName(){
            return this.name;
        }
        public void setAge(int age){
            this.age = age;
        }
        public int getAge(){
            return this.age;
        }
    }
    
    class Student extends Person1{
    
    }
    public class Per_StuDemo {
        public static void main(String[] args) {
            Student stu = new Student();
            stu.setName("zhangsan");
            stu.setAge(16);
            System.out.println("name:"+stu.getName()+",age:"+stu.getAge());
        }
    }

    2、只允许多层继承,而不能多重继承

    对私有操作隐式继承,对公有操作显式继承。子类可以调用父类中的非私有方法(getter、setter),但是不能直接调用父类中的私有成员(直接访问)。

    在子类对象构造之前一定会默认调用父类的无参构造(默认使用无参构造)以保证先实例化父类对象,而后实例化子类对象。

    class A{
        public A(){
            System.out.println("A");
        }
    }
    
    class B extends A{
        public B(){
            System.out.println("B");
        }
    }
    public class ExtendsDemo1 {
        public static void main(String[] args) {
            new B();
        }
    }

    输出结果:

    A
    B

    3、super()和this()不能同时出现,

    子类对象的构造调用之前,一定要先执行父类构造,为父类对象初始化后才轮到子类对象初始化。

    super()加不加此语句效果相同,且必须加在的第一行。

    class A{
        public A(){
            System.out.println("A");
        }
    }
    
    class B extends A{
        public B(){
            super();
            System.out.println("B");
        }
    }
    public class ExtendsDemo1 {
        public static void main(String[] args) {
            new B();
        }
    }
  • 相关阅读:
    js--未来元素
    Nginx 浏览器打开是下载状态
    JS对象的深拷贝
    微信小程序--扫描二维码
    js--call( )/apply()/bind()--应用
    数学书籍
    【活动】你有创意我有奖!摹客X飞书2020产品设计大赛邀你来战
    APP设计实例解析,深色模式为什么突然就火了?
    焦虑求职季又至:2020UI设计师作品集如何准备?
    QQ音乐 vs 网易云音乐,用户体验哪家强?
  • 原文地址:https://www.cnblogs.com/cathycheng/p/13157712.html
Copyright © 2020-2023  润新知