Java学习

Java学习的第四天:

包装类的补充:

public static void main(String[] args){
    Integer num1=123;
    Integer num2=123;
    System.out.println(num1==num2);
    num1=new Integer(124);
    num2=new Integer(124);
    System.out.println(num1==num2);
    Integer num1=128;
    Integer num2=128;
    System.out.println(num1==num2);
}

//输出  true  false  false

解释:true在Java中会自动缓存-128到127这些数然后用的时候直接取就行,false是因为在堆中分配内存每new一个就分配一个,第二个false是因为没有Java中缓存128还得重新分配。

继承的补充:

  1. 子类继承了父类的所有的非私有的属性和方法,可以直接调用。
  2. 子类在构造的时候,一定会构造一个父类,默认调用父类的无参构造器。
  3. 子类如果指定去调用父类的某个构造器,则显示的调用一下:super(参数列表)
  4. super和this当作构造器使用时,必须放在构造器的第一行,所以只能二选一
  5. java所有类都是Object类的子类,Object是所有类的基类。
  6. 子类最多只能继承一个父类(指直接继承),java中时单继承机制,我们可以使用连续继承来实现。
this和super的比较
thissuper
访问属性访问本实例的属性,没有会继续向父类检索访问本实例的属性,没有会继续向父类检索
调用方法访问本实例的方法,没有会继续向父类检索访问本实例的方法,没有会继续向父类检索
调用构造器调用本类的构造器,必须放在第一行,不会向上检索调用父类的构造器,必须放在第一行,不会向上检索

Objec祖先类:

hashcode():

加密用的。

equals方法和toString方法
package com.itheima.Homework;

public class Student {
    private String name;
    private int age;
    private int id;

   public Student(int i,int age,String name){
       this.setAge(age);
       this.setId(i);
       this.setName(name);
   }

    @Override
    public boolean equals(Object o){
        if(this==o) return true;
        if(o==null) return false;
        Student student=(Student) o;
        return id==student.id && student.getName().equals(name);
    }
    @Override
    public String toString(){
       return "Student{id="+id+" , name='"+name+"', age="+age+"}";
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}
/****************************************************************/
package com.itheima.Homework;

public class Homework {
    public static void main(String[] args) {
        Student s1=new Student(1,23,"zhangsan");
        Student s2=new Student(1,23,"zhangsan");
        System.out.println(s1.equals(s2));
        System.out.println(s1);
    }
}

输出结果:在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值