07-31 面向对象

String比较是否相等

        String s1=new String("asd");
        String s2=new String(new char[]{'a','s','d'});
        String s3="asd";
        String s4="asd";
        System.out.println(s1==s2);//比较的是地址
        System.out.println(s1.equals(s2));//比较的是内容
        System.out.println(s3==s4);//都是从缓冲区中读取的,如果没有,创建,缓冲区中存放的都是String 类型

简单数据类型和封装类比较是否相等

        int i=10;
        int j=10;
        int h=new Integer(10);     //自动拆箱
        Integer m=new Integer(10);
        Integer n=new Integer(10);
        Integer k=10;              //自动装箱
        System.out.println(i==j);//简单数据类型和简单数据  true
        System.out.println(m==n);//封装类和封装类         false
        System.out.println(i==m);//简单数据类型和封装类    true
        System.out.println(m==k);//封装类和装箱           false
        System.out.println(i==k);//简单数据类型和装箱      true
        System.out.println(i==h);//简单数据类型和拆箱      true
        System.out.println(m==h);//封装类和拆箱           true
        System.out.println(h==k);//拆箱和装箱             true

方法重写

public class Person {
    public void sleep(){
        System.out.println("在家睡觉");
    }
}
public class Student extends Person{
    public void sleep(){
        System.out.println("在学校睡觉");
    }
}
public class Text {
    public static void main(String[] args) {
        Person person=new Person();
        person.sleep();
        Student student=new Student();
        student.sleep();
    }
}

方法重载


public class Dog extends Animal {
    public void voice() {
        System.out.println("汪汪");
    }

    public void voice(String name) {
        System.out.println("看见" + name + "立刻就咬");
    }

    public void voice(int age){
        if(age<18){
            System.out.println("摇尾巴");
        }else{
            System.out.println("走开");
        }
    }
public class Text {
    public static void main(String[] args) {
        Dog dog=new Dog();
        dog.voice();
        dog.voice("john");
        dog.voice(14);
        dog.voice(21);
    }
}

强制类型转换

public class Animal {
    public void voice(){
        System.out.println("动物叫");
    }
}
public class Dog extends Animal {
    public void voice() {
        System.out.println("汪汪");
    }
     public void voice(String name) {
        System.out.println("看见" + name + "立刻就咬");
    }
}
public class Text {
    public static void main(String[] args) {
        Animal animal1=new Animal();
        Animal animal2=new Dog();
        animal1.voice();
        animal2.voice();
        if(animal2 instanceof Dog){
            ((Dog)animal2).voice("tom");
        }else{
            System.out.println("animal2不是Dog");
        }

instanceof static final

instanceof   //Animal是父类,Dog是子类。
             //用来在运行时指出对象是否是特定类的一个实例
       if(animal2 instanceof Dog){
            ((Dog)animal2).voice("tom");
        }
static  //成员共有的属性或方法
    public static int eyeNum=2;
    public static void run(){
        System.out.println("狗跑的很快");
    }
final
   1.修饰类:不能被继承,不能有子类
   2.修饰方法:不能被重写
   3.修饰变量:不能改变,不能被重新赋值
      静态常量:全部用大写,中间用下划线隔开

Object 祖类

**toString()**
   public class Animal {
      public void voice(){
        System.out.println("动物叫");
      }
   }
   public class Dog extends Animal {
      @Override
      public String toString() {
        return "boy";
      }
   }
   public class Text {
    public static void main(String[] args) {
       Dog boy=new Dog();
       System.out.println(boy);
    }
   }
**equal()**
   public class Student{
       public int id;
       public String name;
       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;
       }
      @Override
      public boolean equals(Object obj) {
        boolean isSame=false;
        if(obj!=null){
            if(obj instanceof Student){
                isSame=((Student)obj).id==this.id;
            }
        }
        return isSame;
      }

  public class Test {
    public static void main(String[] args) {
        Student zhangsan=new Student();
        zhangsan.setId(001);
        zhangsan.setName("张三");
        Student lisi=new Student();
        lisi.setId(001);
        lisi.setName("张思");
        System.out.println(zhangsan==lisi);
        System.out.println(zhangsan.equals(lisi));
    }
  }
**hashCode()**
   Dog boy=new Dog();
   System.out.println(boy);
   System.out.println(boy.hashCode());
 输出:com.animal.Dog@19e0bfd
      27134973  //19e0bfd的十进制表示

类型、进制转换

**类型转换**
   //将字符串类型转换成数字类型
   String str="123";
   System.out.println(Integer.parseInt(str)+3);
**进制转换**
   //将十六进制转换成十进制
   String str="A1";
   System.out.println(Integer.parseInt(str, 16));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值