对象是类的实例化。
举个例子,你知道世界上有狗,但不是具体到那条狗,狗有区别其他动物的“特征”,这条狗就是类,它是抽象的概念。那这个类怎么区别其他的类呢,这个问题相当于问狗的特征。类有它的属性和方法。这就是类的特征。
通过以上的例子对类有了初步的了解,那么再说对象。你知道世上有狗这种动物了,归根结底它还是抽象的,只有你家养了一条狗,狗才是才是具体的、真实存在的。那么对象就是这种动物——狗的具体化(专业术语: 实例化),对象就是你能牵着出门能遛的狗。
今天讲一个问题,值的传递。讲明白了,就是讲清楚,传递的到底是类的值还是对象的值。下面看代码:
public class Test { //这个类用来获取经过设定后的i值
public static void main(String[] args) {
Test2 a = new Test2(); //创建Test2的对象
a.getI(); //获取i值
}
}
public class Test2 { //错误的返回
private int i = 0 ;
private void setI() {
this.i = 100;
}
public int getI() {
Test2 b = new Test2();
b.setI();
return this.i; //wrong! 返回的值为类中的i = 0,显然我们要的是i=100的值
}
}
public class Test2 { //正确的返回
private int i = 0 ;
private void setI() {
this.i = 100;
}
public int getI() {
Test2 b = new Test2();
b.setI();
return b.i; //正确b.i = 100
}
}
以上便是个人对类和对象中的域返回值的简析。第一次写技术博客,不足之处海涵。