我发表一下我的拙见:
由于Detergent是从Cleaner继承而来,可否这样认为:
public class Detergent extends Cleanser {
// Change a method:
public void scrub() {
append(" Detergent.scrub()");
super.scrub(); // Call base-class version
private String s = new String("Cleanser");
public void append(String a) { s += a; }
public void dilute() { append(" dilute()"); }
public void apply() { append(" apply()"); }
public void scrub() { append(" scrub()"); }
public void print() { System.out.println(s); }
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub();
x.print();
}
}
虽然s是private的,但是在类内部应该是可以访问的。
不知道这样是否正确?
(我是菜鸟,但是我积极参与不怕出错与批评,这样会让我得到提高)
由于Detergent是从Cleaner继承而来,可否这样认为:
public class Detergent extends Cleanser {
// Change a method:
public void scrub() {
append(" Detergent.scrub()");
super.scrub(); // Call base-class version
private String s = new String("Cleanser");
public void append(String a) { s += a; }
public void dilute() { append(" dilute()"); }
public void apply() { append(" apply()"); }
public void scrub() { append(" scrub()"); }
public void print() { System.out.println(s); }
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute(); x.apply(); x.scrub();
x.print();
}
}
虽然s是private的,但是在类内部应该是可以访问的。
不知道这样是否正确?
(我是菜鸟,但是我积极参与不怕出错与批评,这样会让我得到提高)
解决方案 »
- try catch 里 break 怎么会出现这种情况
- 菜鸟急求!!!这个java程序怎么编写啊?
- 用java语言编写一个打印出钻石形状的图形的程序
- 问一个文件上传的问题?
- 求 Jakarta-ORO 包 写的 正则表达式!
- 求救
- 关于JAVA中的主类名与文件名!
- 急急急,壓縮 有中文名的文件 後 在壓縮文件中無法正常顯示中文 文件名 幫忙看一下
- 菜鸟提问:ListStudents.java:24: unreported exception java.sql.SQLException; must be caught or declared to be thrown
- 如何将第三方包加入 谢谢,急
- 我学了3年C++,想转Java
- 请教一个对象赋值问题。
而是通过public的方法来访问s, 所以执行结果使没问题的
可以结合private变量的getter,setter方法想想。另外,如果私有变量的值永远无法见人,那他也就没有存在的意义了。
if private exist before variable or method , then any other class(sub_class,one package) CANNOT (DERICTLY get this data) or invoke this method.