注意:不同包的子类和继承有关
测试不同包的子类时,在另一个包中创建类, Superclass是父类,Object是父类(Object是任何的父类),改成Order是父类,这样就直接继承了 Order.java
package com.xzx.contact; public class Order {//类Order private int orderPrivate;// int orderDefault;//缺省 protected int orderProtected; public int orderPublic; private void methodPrivate() { orderPrivate=1; orderDefault=2; orderProtected=3; orderPublic=4; } void methodDefault() { orderPrivate=1; orderDefault=2; orderProtected=3; orderPublic=4; } protected void methodProtected() { orderPrivate=1; orderDefault=2; orderProtected=3; orderPublic=4; } public void methodPublic() { orderPrivate=1; orderDefault=2; orderProtected=3; orderPublic=4; } }OrderTest.java
package com.xzx.contact; public class OrderTest { public static void main(String[] args) { Order order=new Order(); order.orderDefault=1; order.orderProtected=2; order.orderPublic=2; order.methodDefault(); order.methodProtected(); order.methodPublic(); //同一个包中的其他类不可以调用Order类中私有的属性,方法 //order.orderPrivate=4; //order.methodPrivate(); } }SubOrder.java
package com.xx.study; import com.xzx.contact.Order; public class SubOrder extends Order { public void method() {// 随意写个方法 orderProtected = 1; orderPublic = 2; methodProtected(); methodPublic(); // 在不同的子类中,不能调用Order类中声明为private何缺省权限的属性方法 // order.orderDefault=3; // order.orderPrivate=4; } }