您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
在Java中,子类可以通过以下方式访问父类的成员:
class Parent {
public String publicVar = "Parent's public variable";
public void publicMethod() {
System.out.println("Parent's public method");
}
}
class Child extends Parent {
void accessParentMembers() {
System.out.println(publicVar); // 访问父类的公共成员变量
publicMethod(); // 访问父类的公共成员方法
}
}
class Parent {
protected String protectedVar = "Parent's protected variable";
protected void protectedMethod() {
System.out.println("Parent's protected method");
}
}
class Child extends Parent {
void accessParentMembers() {
System.out.println(protectedVar); // 访问父类的受保护成员变量
protectedMethod(); // 访问父类的受保护成员方法
}
}
// 同一个包中的情况
class Parent {
String defaultVar = "Parent's default variable";
void defaultMethod() {
System.out.println("Parent's default method");
}
}
class Child extends Parent {
void accessParentMembers() {
System.out.println(defaultVar); // 访问父类的默认成员变量
defaultMethod(); // 访问父类的默认成员方法
}
}
class Parent {
public String publicVar = "Parent's public variable";
protected String protectedVar = "Parent's protected variable";
String defaultVar = "Parent's default variable";
public void publicMethod() {
System.out.println("Parent's public method");
}
protected void protectedMethod() {
System.out.println("Parent's protected method");
}
void defaultMethod() {
System.out.println("Parent's default method");
}
}
class Child extends Parent {
void accessParentMembers() {
System.out.println(publicVar); // 访问父类的公共成员变量
publicMethod(); // 访问父类的公共成员方法
System.out.println(protectedVar); // 访问父类的受保护成员变量
protectedMethod(); // 访问父类的受保护成员方法
System.out.println(defaultVar); // 访问父类的默认成员变量
defaultMethod(); // 访问父类的默认成员方法
}
}
public class Main {
public static void main(String[] args) {
Child child = new Child();
child.accessParentMembers();
Parent parent = new Child();
System.out.println(parent.publicVar); // 访问父类的公共成员变量
parent.publicMethod(); // 访问父类的公共成员方法
// System.out.println(parent.protectedVar); // 无法访问父类的受保护成员变量
// parent.protectedMethod(); // 无法访问父类的受保护成员方法
// System.out.println(parent.defaultVar); // 无法访问父类的默认成员变量
// parent.defaultMethod(); // 无法访问父类的默认成员方法
}
}
注意:子类不能继承父类的私有成员(private)。如果需要在子类中访问父类的私有成员,可以通过父类提供的公共或受保护的方法来实现。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。