培训首页  >  软件开发新闻  >  【常州电脑培训】对象的构建及初始化

【常州电脑培训】对象的构建及初始化

[2014-01-06 15:22:39] 浏览量:339 来源:

东方博宜教育电脑培训学校

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));
 }
}
 



文中图片素材来源网络,如有侵权请联系删除

网上报名

热门信息

温馨提示