/* Object是Java默认提供的⼀个类。Java⾥面除了Object类,所有的类都是存在继承关系的。
默认会继承
Object父类。即,所有类的对象都可以使用Object进行接收。
*/
import java.util.Scanner;
class Person implements Comparable{
String name;
int age;
public Person(String name,int age){
this.name = name;
this.age = age;
}
@Override
public int compareTo(Person o) {
int a = o.age;
int b = this.age;
return a-b ;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
class Student{
private String name;
private int age;
private int Snum;
public Student(String name ,int age,int Snum){
this.name = name;
this.age = age;
this.Snum = Snum;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
", Snum=" + Snum +
'}';
}
@Override
public boolean equals(Object obj) {
if (obj ==null)
{
return false;
}
if (this ==obj){
return true;
}
if (!(obj instanceof Person)){
return false;
}
Person person = (Person)obj;//向下转型,比较属性值
return this.name.equals(person.name)&&this.age == person.age;
}
}
class MyInteger{
private int val;
public MyInteger(int val){
this.val = val;
}
}
public class TestDemo2 {
public static void fun (Object obj){
System.out.println(obj);//默认调用Object 的toString方法
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
}
//包装类(基本数据类型(1、字符型( byte、short、int、long、float、double、))
// (2、char)
// (3、boolean)
// 【对应包装类】(Byte Short Integer Long Float Double
// Character Boolean)
// (引用数据类型)(1、数组)
// (2、接口)
// (3、类)
// (4、String 枚举)
//字符串与基本数据类型转换
public static void main6(String[] args) {
String str = "561651";
int a = Integer.parseInt(str);//int 类型
System.out.println(a);
double b = Double.parseDouble(str);//double 类型
System.out.println(b);
boolean c = Boolean.parseBoolean(str);//(str = true时,才输出true)
System.out.println(c);
String str2 = String.valueOf("hello");
System.out.println(str2);
}
public static void main5(String[] args) {
Integer integer = 200;
Integer integer1 = 200;//-128-->127
System.out.println(integer == integer1);
System.out.println(integer.equals( integer1));
}
public static void main4(String[] args) {
//装箱(包)--》把简单类型包装为一个对象
Integer a = 10;//自动装箱 Integer.valueOf:
Integer a2 = new Integer(20);//显示装箱(包)此处不调用valueOf方法
System.out.println(a);
System.out.println(a2);
//拆箱:---》把包装类拆分为对应的简单类型
int i = a;//自动拆箱---》Integer.intValue:*Integer类型对应int类型
double d = a.doubleValue();//显示拆箱
System.out.println(d);
}
//使用object接受数组对象
//Object真正达到了参数的统一,如果一个类希望接受所有的数据类型,就是用Object完成。
public static void main3 (String[] args) {
Object obj = new int[]{1,2,3,4};
Object obj2 = new double[]{1.1,2.0,3.9,5.7};
int[] f = (int[]) obj;
for (int i = 0; i <f.length ; i++) {
System.out.println(f[i]);
}
}
public static void main2(String[] args) {
Person person1 = new Person("bit ",18);
Person person2 = new Person("zsy",21);
Person person3 = person1;
System.out.println(person1.equals(person2));
System.out.println(person1.equals(person3));
}
public static void main1(String[] args) {
String str = “hello”;
String str2 = “bit”;
str.equals(str2);
fun(new Person(“bit”,18));
fun(new Student(“zsy”,21,100));
}
}