标签:ons 复用 类方法 main object null 默认 str code
复用类有两种实现方式。
下面创建两个类WaterSource和SprinklerSystem。其中SprinklerSystem中包含WaterSource的对象引用。
class WaterSource { //如果定义时没有初始化,则基本类型会被自动初始化为0,对象引用初始化为Null private String s; WaterSource(){ System.out.println("WaterSource()"); s = "Constructed"; } } public class SprinklerSystem { private String value1,value2,value3,value4; //定义时初始化 private WaterSource source = new WaterSource(); private int i; private float f; public String toString() { return "value1 = " + value1 + " " + "value2 = " + value2 + " " + "value3 = " + value3 + " " + "value4 = " + value4 + "\n" + "i = " + i + " " + "f = " + f + " " + "source = " + source; } public static void main(String[] args) { SprinklerSystem sprinklers = new SprinklerSystem(); System.out.println(sprinklers); } }
运行结果如下:
WaterSource() value1 = null value2 = null value3 = null value4 = null i = 0 f = 0.0 source = WaterSource@15db9742
注意:如果把一个对象以String类型输出,则默认调用的是该对象的toString()方法。
类中成员变量如果是基本基本类型则默认被初始化为零,如果是对象引用则会被初始化为null。
我们也可以自己去初始化他们:
Java创建一个类时,默认都是继承于Object,除非自己指定从哪个类继承。
class Cleanser{
private String s = "Cleanser";
public void append(String a) { s += a; }
public void dilute(){append(" dilute()");}
public void apply() {append(" apply()");}
public void scrub() {append(" scrub()");}
public String toString() {return s;}
public static void main(String[] args) {
Cleanser x = new Cleanser();
x.dilute();
x.apply();
x.scrub();
System.out.println(x);
}
}
public class Detergent extends Cleanser {
public void scrub() {
append(" Detergent.scrub()");
super.scrub();
}
public void foam() {append(" foam()");}
public static void main(String[] args) {
Detergent x = new Detergent();
x.dilute();
x.apply();
x.scrub();
x.foam();
System.out.println(x);
System.out.println("Testing base class:");
Cleanser.main(args);
}
}
运行结果如下:
Cleanser dilute() apply() Detergent.scrub() scrub() foam() Testing base class: Cleanser dilute() apply() scrub()
看以看到继承使用的是关键字extends,如果在子类中想调用父类方法,使用super.*。
标签:ons 复用 类方法 main object null 默认 str code
原文地址:https://www.cnblogs.com/zyly/p/10546923.html