gpt4 book ai didi

Java - 子类无法访问 protected 字段?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:05 25 4
gpt4 key购买 nike

<分区>

我正在学习 Java 访问修饰符。为此,我创建了一个类 Machine:

package udemy.beginner.interfaces;

public class Machine {

public String name;
private int id;
protected String description;
String serialNumber;

public static int count;

public Machine(){
name = "Machine";
count++;
description = "Hello";
}

}

然后,在另一个包中,我创建了一个类Robot 作为汽车Machine 的子类:

package udemy.beginner.inheritance;

import udemy.beginner.interfaces.Machine;

public class Robot extends Machine {

public Robot(){

Machine mach1 = new Machine();
String name = mach1.name;
//here I am getting error "The field Machine.description is not visible"
String description = mach1.description;
}

}

尝试访问 Robot 类中的字段 description 时出现错误。根据我对 protected 访问修饰符如何工作的理解,它应该没问题,但也许我搞砸了一些东西。有什么想法吗?


编辑:我试图将 Robot 类移动到与 Machine 类所在的包相同的包中,现在它可以工作了,无需使用它。如果有人可以向我解释这个。根据下面的答案,它应该不能正常工作......

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com