一、基准类
假设我们有一个名为 BaseClass 的基准类:
package demo;
public class MyClass {
public int value=2;
public void test() {
System.out.println("value="+value);
}
}
二、同包中的类
在与 MyClass 相同的包demo下的另一个类可以直接访问 MyClass 的成员,无需导入。
例如:
package demo;
public class TestMyClass {
public static void main(String[] args) {
MyClass base = new MyClass();
System.out.println(mc.value);
}
}
三、不同包的子类
假设 MyClass 有一个子类在不同的包中:
package demo;
import demo.MyClass;
public class ClassA extends MyClass {
public void m1() {
System.out.println( "value="+value);
}
}
在这个例子中,子类 ClassA 在不同的包中,需要通过导入 MyClass 才能继承它。然后可以在子类中添加新的方法,并可以调用从父类继承的方法。
总的来说,在 Java 中,同包中的类可以直接访问彼此的成员,而不同包中的类需要通过导入来访问其他类的成员。子类可以继承父类的成员,并可以添加新的成员和方法。
四.不同包中的非子类
假设在包 demo 中有一个类 MyClass :
package demo;
public class MyClass {
public static void main(String[] args) {
MyClass mc=new MyClass{};
System.out.println("mc.value");
}
}