java 继承

要使用继承,需要声明新类extends(扩展),一般使用protected权限

基类:

package Thingking_in_java.ch6.ch6_03.debug;

import static net.feilong.util.Print.*;

public class Debug{
    public  Debug() //public 构造器可以被继承
    {
        print("you is success\n");
    }
    protected Debug(int n)  //protected 构造器不被继承
    {
        System.out.println("this is protected Debug n");
    }
    public Debug(String s)
    {
        System.out.println("this is a public Debug s");
    }
    protected void f()  //protected 非 static method 可以再非static method 中直接使用
    {
        print("this is a protected void f()\n");
    }
    protected static void fstatic()  //protected static method can 直接 use , 也可以加class name 调用
    {
        print("this is protected static void fstatic ()\n");
    }
    public static void main(String[] args)
    {
        
    }
}

子类

package Thingking_in_java.ch6.ch6_04;

import Thingking_in_java.ch6.ch6_03.debug.*;

public class Foo extends Debug{
    Foo()
    {
        new Debug("allow");
        System.out.println("FOO constructor");
    }
    public void chomp()
    {
       f();//protected 非 static method 可以再非static method 中直接使用
    }
    public static void main(String args[])
    {
        Foo foo = new Foo();
        new Debug(); //protect no allow use //protected 构造器不被继承
        // new Debug(1);  //cannot do that //protected 构造器不被继承
        new Debug("hello");  
        Debug.fstatic();//protected static method can 直接 use , 也可以加class name 调用
        fstatic();
        foo.chomp();
    }
}

 

posted @ 2018-12-18 23:33  江期玉  阅读(247)  评论(0编辑  收藏  举报