栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java继承

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java继承

package com.use.myextends;

import com.use.myextends.exercise.Student;

public class MyExtendes {
    public static void main(String[] args) {
//        Student student = new Student();
//        不同包下的类,默认和protected级别不能直接访问
//        System.out.println(student.name + student.age + student.score);
//        Sub sub = new Sub();
        // 在创建子类对象时 默认会调用父类中的无参构造器
//        sub.subInfo();
        System.out.println("======第2个对象======");
        Sub sub01 = new Sub(1);
        // sub继承父类的父类
        sub01.topbaseFunc();
    }
}

class MyStudent extends Student{
    //不同包下的子类 默认级别不能直接访问 protected可访问
    public void showInfo(){
//        System.out.println(name+age+score);
    }
}

package com.use.myextends;

public class Sub extends base{

    public Sub(int n1){
//        若父类中不存在无参构造器,需要用 super(参数) 来显式调用父类中指定的构造器
        super(n1);
        System.out.println("子类中的Sub(int n1)构造器");
    }
//    public Sub(){
        super();
//          // 创建对象时,会默认使用此函数 调用父类中的无参构造器,此函数无需显式调用,系统编译时默认调用
//        System.out.println("子类中的Sub()构造器");
//    }
    public void subInfo(){
        test100();
        test200();
        test300();
        testPrivate();
//        test400();    // 私有属性/方法不能在子类中直接调用
    }
}

package com.use.myextends;

public class base extends Topbase{

    public int n1=100;
    protected int n2 = 200;
    int n3 = 300;
    private int n4 = 400;

    public base(int n1){  //父类中的无参构造器
        System.out.println("父类中的base(int n1)构造器");
    }

//    public base(){  //父类中的无参构造器
//        System.out.println("父类中的base()构造器");
//    }

    // 父类中的私有属性&方法 需要通过父类提供的方法访问
    public void testPrivate(){
        System.out.println(n4);
        test400();
    }
    public void test100(){
        System.out.println("test100().....");
    }
    protected void test200(){
        System.out.println("test200().....");
    }
    void test300(){
        System.out.println("test300().....");
    }
    private void test400(){
        System.out.println("test400().....");
    }
}

package com.use.myextends;

public class Topbase {

    public void topbaseFunc(){
        System.out.println("topbaseFunc() 被调用");
    }
}

package com.use.myextends;

public class ExtendsExercise {
    public static void main(String[] args) {
        B b = new B();
    }
}

class A{
    A(){System.out.println("a");}
    A(String name){System.out.println("a name");}
}

class B extends A{
    B(){this("abc");System.out.println("b");};
    // this("abc") 会调用下方构造器,构造器中默认有 super() 函数,会调到父类A中的无参构造器
    B(String name){System.out.println("b name");}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/723488.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号