JAVA学习总结8

1.toString 
2.equals   继承自object根类,String类重写了 .equals 的方法,所以String比较的是值。

package OO0913rewrite;

import OO0912.Students;

public class Re_equals {

     public static void main(String[] args) {
           // TODO 自动生成的方法存根
           Students s1 = new Students("xiong",20,"man");
           Students s2 = new Students("xiong",20,"man");

           System.out.println(s1 == s2);//输出false
           System.out.println( s1.equals(s2));//输出false,如果重写了,表示只对对象的某个属性进行比较的话,就另当别论。

           String s = new String("ddd");
           String s3 = new String("ddd");

           System.out.println( s.equals(s3));//输出true,string重写了equals方法
     }

}
然后重写Students的方法
package OO0912;

public class Students {
     public String name;
     public int age;
     public String sex;

public Students (String name,int age , String sex){
     this.name = name ;
     this.age = age ;
     this.sex =sex;
}
      @Override//重写了Students的equals方法,然后调用
     public boolean equals(Object obj){
           Students s = (Students) obj;
           return this.age == s.age&&this.name == s.name;
     }
}

继承的原理
  • 子类创建前,会先产生父类对象。然后在父类对象基础之上,扩展子类特有的属性和方法。所以子类对象中包含完整的父类对象,就可以重用父类中定义的方法和属性。

  • 子类对象创建之前,需要通过super()调用父类构造方法,产生父类对象。如果子类构造方法中没有书写super(),这时,虚拟机会自动调用super()。如果父类中没有无参构造方法,子类必须通过super(参数)来显示调用。或者重载无参构造方法。

package OO0913rewrite;

public class A {
     public A (){

           System.out.println("A构造");  
           aset();
     }
     public void aset(){
           System.out.println("Ade");//子类在通过父类构造方法的时候, 父类构造如果有一个重载方法,这个方法会被子类调用并显示。
     }

     public static void main(String[] args) {
           // TODO 自动生成的方法存根

     }

}
class B extends A{
     public B(){
           System.out.println("B构造");//父类构造方法不会被重写,所以先继承super的无参构造方法,然后再使用自己的构造方法
     }
      public void aset(){
           System.out.println("Bde");
     }
}


  •  有参构造方法
public class Product {//先定义父类的属性,然后用this.属性来定义构造方法
public String producter;
public int price;
public Product(String pro, int pri){
this.producter =pro;
this.price =pri;
}
}

final关键字
  • 可以修饰类,这个类会变成太监类,只有父类,没有子类;
  • 修饰方法,子类就不能重写这个方法;
  • 修饰变量,变量地址(就是内容)固定下来,但最终指向的值可以被改变。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值