java基础终稿

2021-03-07 08:27

阅读:599

标签:person   注意事项   new   code   抛出异常   object   执行   except   自己的   

重写

public class B {
    public static void test(){
        System.out.println("B=>test()");
    }
}
public class A extends B {
    public static void test(){
        System.out.println("A=>test()");
    }
}
public class Application {
    public static void main(String[] args) {
        //方法的调用纸盒左边、定义的数据类型有关
        A a=new A();
        a.test();
        //父类的引用指向了子类
        B b=new A();
        b.test();
    }
}
public class Application {
    //静态方法和非静态方法区别很大
    //重写只和非静态有关、父类公有只能重写公有的(其余范围可扩大但不可缩小),需要继承关系,抛出异常的范围可以被缩小,不可扩大:
    public static void main(String[] args) {
        //方法的调用纸盒左边、定义的数据类型有关
        A a=new A();
        a.test();
        //父类的引用指向了子类
        
    }
}

多态


public class Person {
public void run(){
    System.out.println("run");
}
}
/**
 * 多态注意事项
 * 多态是方法的多态,属性没有多态
 * 父类和自雷,有联系 ;类型转换异常!ClassCastException
 * 存在条件 继承关系,方法需要重写 父类引用指向子类对象 father f1=new Son()
 * static final  private 不可重写  
 */
public class Application {
    public static void main(String[] args) {
        //一个对象的实际类型是确定的
        //new Student();
        //new Person();

        //可以指向的引用类型就不确定了
        //Student能调用的方法都是自己的或者是继承父类的
        Student s1=new Student();
        //Person父类型:可以指向子类,但是不能调用子类独有的方法
        Person s2=new Student();
        Object s3=new Student();


        //对象能执行的方法,主要看对象左边的类型,和右边关系不大!
        s2.run();//子类重写了父类的方法,执行子类的方法
        s1.run();
        s1.eat();
    }
}

package 多态;
public class Student extends Person{
    public void run(){
        System.out.println("son");
    }
    public  void eat(){
        System.out.println("eat");
    }
}


类型装换


java基础终稿

标签:person   注意事项   new   code   抛出异常   object   执行   except   自己的   

原文地址:https://www.cnblogs.com/2506236179zhw/p/14269164.html


评论


亲,登录后才可以留言!