【常州电脑培训】对象的构建及初始化
1、父子类继承,对象构造的顺序
A、先构造父类,再构造子类!
B、在对象构造时,先为属性赋值,再调用构造器!
构造器句话默认为super()构造父类,父类构造完毕后,子类先绑定构造器,
赞不执行,为属性赋值,属性赋值结束,才继续执行构造器!
public class Parent
{
String name = setName(); //6
//为name属性赋值
public static String setName(){
System.out.println("1、父类的属性被赋值");
return "NEO";
}
/**
父类的构造器
*/
public Parent(){
//5
super();
System.out.println("2、父类的对象被构造");
}
/**
父类带参数的构造器
*/
public Parent(String name){
this(); //4
this.name = name; //7
System.out.println("3、父类带参数的构造器执行");//8
}
}
class Child extends Parent
{
int age = setAge(); //9
/**
子类的构造器
*/
public Child(){
this(10); //2
System.out.println("4、子类的对象被构造");
}
/**
子类的构造器
*/
public Child(int age){
super("JACK"); //3
this.age = age;
System.out.println("5、子类的有参构造器被执行");
}
public static void main(String[] args){
Child c = new Child(); //1
}
//为子类的属性赋值
public static int setAge(){
System.out.println("6、子类的属性被赋值");
return 0;
}
}
2、为什么打印对象时,打印的是对象的地址?
因为打印对象时,默认调用对象中的toString()方法(从Object中继承来的)
如果在打印对象时,想要打印对象的一些属性,而不是对象的地址,应该重写对象的
toString()方法
3、判断简单数据类型是否一致用==,==不能判断引用数据类型是否相等
如果需要判断两个对象的属性是否一致:重写Object中的equals()方法
public class Point
{
double x;
double y;
public Point(){
}
/**
有参构造器,为属性赋值
*/
public Point(double x,double y){
this.x = x;
this.y = y;
}
/**
重写Object中的toString()方法
*/
public String toString(){
String str = "坐标为:" + this.x + "," + this.y;
return str;
}
/**
重写Object中的equals()方法,用来判断两个对象是否一致
*/
public boolean equals(Point p){
boolean f = false; //假设不是同一个点
if(this.x == p.x && this.y == p.y){
f = true;
}
return f;
}
public static void main(String[] args){
Point p = new Point(1,1);
System.out.println(p);
Point p2 = new Point(1,1);
System.out.println(p.equals(p2));
}
}
文中图片素材来源网络,如有侵权请联系删除网上报名
新闻资讯
更多>>-
常州网店美工培训
2013-12-09
-
网络营销培训SEO培训电
2013-12-11
-
平面设计培训PS培训
2013-12-11
-
淘宝培训网上开店培训开网店培训
2013-12-11
-
软件开发培训java培训
2013-12-11