package tex2polymorphism;

/*总结如下:
* 对于多态,可以总结它为:
  一、使用父类类型的引用指向子类的对象;
  二、该引用只能调用父类中定义的方法和变量;
  三、如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)
  四、变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。
*/
public class 向上转型 {

public static void main(String[] args)
{
Father s = new Son();
s.f();
//报错,因为子类中重新定义了跟父类中一样的变量,而变量是不能重写的,所以报错 s.name;

/*s.f2();编译不通过 我们现在创建的是父类的引用指向子类Son的对象。
* 子类中定义的方法f2在父类中不存在,所以用这父类的引用去调用他没有的方法是错误的。
*/

}

}
class Father{
String name="父";
void f(){System.out.print("父类");}
}
class Son extends Father{
String name = "儿子";
void f(){System.out.print("儿子");}
void f2(){}
}

最新文章

  1. ongl(原始类型和包装类型)
  2. codeforces346 Div.2 A.Round House
  3. PE注入
  4. mvc 4 razor语法讲解和使用
  5. Simplify Path [LeetCode]
  6. Python学习教程(learning Python)--3.3 分支语句的条件表达式详解
  7. Android-短信验证
  8. HBase 和 MongoDB在设计上的区别
  9. CentOS 6.7配置Nginx 1.8负载均衡
  10. 重构 ORM 中的 Sql 生成
  11. Java线程经典面试题
  12. python实现微信接口(itchat)
  13. 删除oracle数据库[转]
  14. C#仪器数据文件解析-XPS文件
  15. javascript实现继承3种方式: 原型继承、借用构造函数继承、组合继承,模拟extends方法继承
  16. python标准库Beautiful Soup与MongoDb爬喜马拉雅电台的总结
  17. .NET Framework 4 与.NET Framework 4 Client Profile有什么区别?
  18. 课程五(Sequence Models),第一 周(Recurrent Neural Networks) —— 1.Programming assignments:Building a recurrent neural network - step by step
  19. <Java><Multi-thread><Lock interface>
  20. leetcode 中等题(2)

热门文章

  1. MySQL索引的基本理解
  2. Binary &Op是什么
  3. MyBatis 查询的条目与预期的不一致
  4. Android病毒分析基础(二)—ChatGPT提问技巧
  5. postgreSQL开启数据库guid类型
  6. Android ViewModel,LiveData 简要分析
  7. C++程序设计实验五 模板类与多态
  8. mysql的数据操作
  9. k8s升级导致hostPath type check failed
  10. MySQL Galera cluster 集群常用参数说明