我是Java初学者,我正在研究子类和超类。
我知道你可以将不在超类中的值/属性/行为添加到子类中,使其更具“特定于任务”。
但我的问题是,我可以从子类中删除属于超类的属性或行为值吗?
答案 0 :(得分:7)
答案 1 :(得分:0)
extend
意味着继承。你没有精确的选择,你可以继承什么,不能做什么。
如果父类决定公开一些公共变量等,则子类不能改变它。
如果父类不想公开某些字段,则可以将其标记为private
。
另外:一个类应该打开以扩展它,但关闭以便更改它。
答案 2 :(得分:0)
答案 3 :(得分:0)
您无法从子类中删除超类的变量和方法,但您可以隐藏字段并覆盖子类中的方法:
class Employee {
String name = "Employee";
public void work() {
System.out.println("Do some work");
}
}
class Programmer extends Employee {
String name = "Programmer";
public void work() {
System.out.println("Write programs");
}
}