Java学习日常(多态、包装类、final修饰符、抽象类)

学习内容

  • 多态中的instanceof运算符
public class Client1 {
    public static void main(String[] args) {
        Animal tom = new Dog();
        Animal mimi = new Cat();

        Animal ani1 = new Animal();

        if (ani1 instanceof Dog) { // 此处ani1的数据类型为 Animal 所以运算的结果为 false
            Dog dog1 = (Dog) ani1;
            System.out.println(dog1.getAge());
        }

        if (tom instanceof Dog) { // 此处tom运行时数据类型为 Dog 所以运算的结果为 true,可以进行转换
            Dog dog2 = (Dog) tom; // 强制类型转换
            dog2.setAge(20);
            System.out.println(dog2.getAge());
        }

        tom.cry();
        mimi.cry();

    }
}
  • 包装类
    这里写图片描述
  • final修饰符
public class Client1 {
    public static final String SCHOOL_NAME = "南通青鸟IT教育"; 
    public static void main(String[] args) {
        int r = 20;
        System.out.println(Math.PI * 2 * r);
//      Client1.SCHOOL_NAME = "青鸟IT教育"; // 错误代码,不能被修改
    }
}
方法的重载和重写
  • 抽象类
package c1103;

public abstract class Person {
    private String name;
    private String age;
    private Boolean sex;

//  private abstract void fun1(); // 错误的
//  public abstract static void fun2(); // 错误的


    public final void eat() {

    }

    // 此方法为抽象方法
    public abstract void talk();

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getAge() {
        return age;
    }
    public void setAge(String age) {
        this.age = age;
    }
    public Boolean getSex() {
        return sex;
    }
    public void setSex(Boolean sex) {
        this.sex = sex;
    }

    public static void main(String[] args) {
//      Person p = new Person(); // 错误的
    }

}

学习总结

今日学习了重点多态,明白了Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。

  1. 编译的类型是由声明变量的时候决定的。
  2. 运行时类型由实际赋给该变量的对象决定。

猜你喜欢

转载自blog.csdn.net/weixin_42707543/article/details/82117633
今日推荐