要使用继承,需要声明新类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 "); } 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() "); } protected static void fstatic() //protected static method can 直接 use , 也可以加class name 调用 { print("this is protected static void fstatic () "); } 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(); } }