封装、继承、多态。
1、封装
  封装就是将对象的属性和行为特征包装到一个程序单元(即类)中,把实现细节隐藏起来,
通过公用的方法来展现类对外提供的功能,提高了类的内聚性,降低了对象之间的耦合性。
2、继承
  继承是对原有类的拓展,举例说明:我现在有一个Person类,但是我想要一个学生对象,
他拥有Person类的所有属性和方法,此外他还有学号属性,及上课、写作业等一些方法,
我可以创建一个Student类,但是我不想重复写Person类中已经有了的属性和方法,那么,
此时我就可以用Student类继承Person类,Student类就拥有了Person类里的属性和方法了,
我只需要在Student类里添加另外的新的属性和方法就可以了。Person类就成为父类,
Student类就称为子类。父类和子类之间是一般和特殊的关系,子类是一种特殊的父类。
此外,子类还可以通过重写来改变父类中的方法,重写可以改变方法的返回类型和访问权限,
不能改变方法名称。
3、多态
  多态是建立在继承的基础上的,是指子类类型的对象可以赋值给父类类型的引用变量,
但运行时仍表现子类的行为特征。也就是说,同一种类型的对象执行同一个方法时可以
表现出不同的行为特征。

继承扩展知识

Q:java中静态属性和和静态方法的继承问题 以及多态的实质。
首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。

静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成的,不需继承机制就可以调用如果子类里面定义了静态方法和属性,那么这时候父类的静态方法 或属性称之为“隐藏”,你如果想要调用父类的静态方法和属性,直接通过父类名.方法名或变量名完成,至于是否继承一说,子类是有继承静态方法和属性,但是 跟实例方法和属性不太一样,存在“隐藏”的这种情况。

多态之所以能够实现是依赖于 继承 接口和 重写 、重载(继承和重写最为关键)。有了继承和重写就可以 实现父类的引用可以指向不同子类的对象。重写的功能是:“重写”后子类的优先级要高于父类的优先级,但是“隐藏”是没有这个优先级之分的。

静态属性、静态方法和非静态的属性都可以被 继承 和 隐藏 而不能够被重写,因此不能实现多态,不能实现父类的引用可以指向不同子类的对象。
非静态的方法可以被继承和重写,因此可以实现多态。

接口中的实现和类中的继承是两个不同的概念,因此不可以说实现接口的子类从接口那里继承了常量和方法

更多相关文章

  1. android开发 app闪退后fragment重叠bug解决方法,推荐使用第二种方
  2. 什么案例需要Java中的同步方法访问?
  3. 请问java中调用一个静态方法()内传入一个对象是表示什么意思?
  4. 在命令行下编译单个带包名的java类的方法
  5. Java记录 -88- 利用反射机制调用对象的私有方法和属性
  6. 使用字符串参数调用AndroidJni静态方法。
  7. java代码获知该方法被哪个类、哪个方法、在哪一行调用
  8. spring框架中一个跟String的trim方法一样的方法
  9. 当只使用get()和set()方法时,用原始类型替换AtomicBoolean?

随机推荐

  1. gsutil - 正则表达式与替代不工作
  2. 第五十九节,模拟浏览器请求Python结合html
  3. LBP特征学习(附python实现)
  4. Python处理字符串
  5. 在管理页面中编辑M2M的两面
  6. 5月28日 python学习总结 CSS学习(二)
  7. 用python阐释工作量证明(proof of work)
  8. 008 Python基本语法元素小结
  9. 在python 3.3列表中查找最小值
  10. 用 Python requests库 爬取网页数据