标签: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");
}
}
标签:person 注意事项 new code 抛出异常 object 执行 except 自己的
原文地址:https://www.cnblogs.com/2506236179zhw/p/14269164.html