Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定如果两种类型不一致,就会出现多态,因此就会将子类对象之间赋值给父类引用变量,称为向上转型,而不用进行类型转换。如 Animal a = new Bir ...
分类:
其他好文 时间:
2019-11-05 01:01:34
阅读次数:
135
一、多态的语法 1.两个类之间没有继承关系的,使用多态是不能编译的。 2.无论向上还是向上转型,都需要有继承关系。 3.什么时候需要向下转型? 当调用的方法或者属性是子类型特有的,在父类型中不存在,就需要向下转型。 4.著名异常:java.lang.ClassCastException 注意: (1 ...
分类:
编程语言 时间:
2019-11-02 19:35:35
阅读次数:
85
继承中的关键字 extends override与super 数据类型的向上转型和向下转型 isInstanceOf和asInstanceOf person.isInstanceOf[Person] person.asInstanceOf[Student] 注意1:isInstanceOf新版本已被 ...
分类:
其他好文 时间:
2019-10-13 12:38:07
阅读次数:
90
一、切入点指示符 切入点指示符用来指示切入点表达式目的,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指示符如下: execution:用于匹配方法执行的连接点; within:用于匹配指定的类及其子类中的所有方法。 this:匹配可以向上转型为 ...
分类:
编程语言 时间:
2019-09-19 23:49:47
阅读次数:
153
```Java /*多态的注意事项 (1)如果子类重写了父类方法, 意味着子类里定义的方法彻底覆盖了父类里同名的方法, 系统将不可能把父类里的方法转移到子类中 补充对(1)的个人理解: 当s向上转型传给了b, b即使想调用自有的方法, 调用的依然是被重写的子类的方法。编译看左边, 运行看右边。 (2... ...
分类:
编程语言 时间:
2019-09-17 09:46:21
阅读次数:
196
1 package cn.learn.Polymorphism; 2 3 public class Fu { 4 public void method(){ 5 System.out.println(",父类子类都有的方法,父类方法运行"); 6 7 } 8 public void methodFu... ...
分类:
其他好文 时间:
2019-09-05 23:40:33
阅读次数:
126
一、异常与记录日志 import java.io.PrintWriter; import java.io.StringWriter; import java.util.logging.Logger; class LoggingException extends Exception{ private ...
分类:
其他好文 时间:
2019-08-26 20:54:10
阅读次数:
87
封装 安全隐患: 属性不私有化(可以直接操作成员属性,就有可能出现不合规范[不安全]的情况) { Student01 stu=new Student01("张三",10,"男"); //直接操作成员属性-->赋值 stu.name="季凤萍"; //stu.age=-5;} 属性私有化关键字: Pr ...
分类:
其他好文 时间:
2019-08-09 19:20:04
阅读次数:
98
下面举例进行分析: Student st=new Student();//Student为子类 Person p=st;//Person 为超类 p.sayHello();//该方法在超类和子类中都存在 分析: * 为什么子类的类型的对象实例可以覆给超类引用? 自动实现向上转型。通过该语句,编译器自 ...
分类:
编程语言 时间:
2019-08-06 21:26:40
阅读次数:
130
1、多态的实现 创建Person类: 创建学生类: 创建测试类: 2、向上转型和向下转型 向上转型:当有子类对象赋值给一个父类引用时,便是向上转型,多态本身就是向上转型的过程,向上转型之后,只能调用子父类共有的内容。例如: 向下转型:一个已经向上转型的子类对象可以使用强制类型转换的格式,将父类引用转 ...
分类:
其他好文 时间:
2019-08-01 20:18:40
阅读次数:
179