JavaAPI.01.API概述及Object类

JavaApi

  • 什么是JavaApi?

    • JavaApi

    • 是一组预先定义好的类和接口,帮助开发者快速开发程序

    • JavaApi 就是学会如何使用别人编写的类和接口

    • Api

      • 应用程序的接口

      • 函数与类的集合

    • 实际就是别人写好的类

  • Java 中常用的包

    • Java.lang : 基础语言包

    • java.util : 集合框架,帮助类

    • java.io : 文件操作的包

    • javafx : 用于创建富客服端应用程序的图形用户界面

    • java.net : 对网络聊天和爬虫使用

    • 包的导入:

      • import java.util.Random;---比如Scanner和Random的导入,写完这两个单词之后直接按住快捷键alt+/即可

      • lang包下的类无需导入

Object对象类

  • Object : 对象类

    • 所有类的父类

    • 其他的类都直接或者间接的继承了Object类

    • 一个类没有明确继承谁的时候默认继承Object

  • Object 两大方法

    • toString() 方法

      • 打印一个对象的时候固定调用toString() 方法

      • 作用:将对象作为字符串输出

      • 语法:public String toString(){ return "","";}

      • 如果编写类的时候,不想按照Object父类的格式输出,需要找到父类的toString() 方法,复制父类的方法,在自己编写的类中修改父类方法中的内容,切记:方法结构必须与父类相同

        • 假如需要打印一个stu对象

          • 测试类先调用system.out.println(stu.equals());

          • 这里面的equals()是从Object父类中继承下来的

          • 按住ctrl键,点击equals()方法跳转到父类object,复制父类toString()方法到stu类中,保持父类结构不变,改变内容

    • equals() 方法---使用方法和toString()方法一致

      • 对象比较时调用

      • 自定义比较规则

      • 当希望对象的某个属性相同的时候使用

      • 默认的equal()也是比较地址的

      • 一般情况下的语法:

      public boolean equal(Object obj){  //这里可以传入任何类型,因为Object是所有类的父类
          Student ss = (Student) obj;   //强转将Object转为Student
          return age = ss.age;
      }
      • 强转不能扭曲类,有继承关系的类才可以强转,实在想强转且只输出false,保持就算代码出错也不会报错,且不影响后续代码的输出,可以使用try-catch方法

      • try{ //可能报错的代码 }catch(Exception e){ return false ;}

        最后面的大括号里面放的是报错后如何处理的方法,也可以放syso语句,也可以不放

  • try-catch方法实例

public class Employee {
    private int id;
    private String name;
    
    @Override
    public boolean equals(Object obj) {
        try {
            Employee e = (Employee) obj;
            return age = e.age & name.equals(e.name); / 比较姓名和年龄
        } catch (ClassCastException e) {
            System.out.println("出现错误: " + e.getMessage());
            return false;
        }
    }
}
  • equal()方法实例

public class Person {
    private String name;
    private int age;
    //重写equals方法
    @Override
    public boolean equals(Object obj) {
        Person person = (Person) obj;
        return age = person.age & name.equals(person.name); // 比较姓名和年龄
    }
}
public static void main(String[] args) {
    Person person1 = new Person("Alice", 30);
    Person person2 = new Person("Alice", 30);
    Person person3 = new Person("Bob", 25);
    String str = "Alice";
    
    //比较对象
    System.out.println("person1 equals person2: " +person1.equals(person2));
    //输出: true
    System.out.println("person1 equals person3: " +person1.equals(person3));
    //输出: false
    System.out.println("person1 equals str: " + person1.equals(str)); // 输出:类型转换错误: ...
}

数据类型

  • 基本数据类型

    • 八大基本数据类型

      • byte

      • short

      • int

      • long

      • float

      • double

      • boolean

      • char

    • 基本数据类型中的值都是独立的

    • 使用==

  • 引用数据类型

    • Class c1 = new Class();

      Class c2 = c1;

      Class c3 = c1;

    • 上面的c1,c2,c3指的是同一个对象,只不过有多个名字

    • 基本使用equal();也可以使用==,但是在引用数据类型中

      ==比较的是对象地址,看是不是对应的同一个对象,每个对象都有自己的地址,且不重复

    • 用上面的举例:c1==c2,返回的是true,因为是同一个对象,地址相同

继承

  • extends 继承

    • A extends B

    • A会获取B的属性和方法,但是extends使用时仅限公开的public 不能私有化

    • public class Child extends Student{}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值