Java 继承
来源:互联网 发布:java 泛型编程 pdf 编辑:程序博客网 时间:2024/06/11 02:47
继承是现实生活中对“分类”概念的一个模拟
继承关系的重要特性:举个栗子,一只cat拥有animal的一切特性但有其各自的特点。即IS_A关系
子类自动拥有分类中声明为public和protected的成员
class 子类名 extends 父类名{....}父类 parent class超类 super class//通常指直接上级 基类 base class//通常指包括直接上级在内的上级的上级
继承条件下类的访问权限 :
public:外界可自由访问
public:外界可自由访问
private:外界不可访问
protected:同一包中的子类都可以访问,另一包 中的子类(派生于同一个父类)也可以访问
default:如果不指明任何权限,则默认同一包中 的类可以访问
通过 super 调用基类构造方法,必 须是子类构造方法中的第一个语句:
class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string) { System.out.println("GrandParent Created.String:" + string); }}class Parent extends Grandparent { public Parent() { System.out.println("Parent Created"); } public Parent(String string) { super("GrandParent"); System.out.println("Parent Created.String:" + string); }}class Child extends Parent { public Child() { super("Parent"); System.out.println("Child Created"); }}public class HelloJava { public static void main(String args[]) { Child c = new Child(); }}
输出结果:
GrandParent Created.String:GrandParent
Parent Created.String:Parent
Child Created
不允许继承类:
final class 类名{}
子类与父类关系:
1.Extends: 子类定义的方法父类没有同名
2.Override: 子类父类定义了完全一样的方法(要求方法一毛一样,不然就是方法重载,那么子类调用父类被覆盖的方法可以用super关键字)
3.Overloads: 子类与父类有同名方法,但两者参数输入不同
顶层基类Object,所以的类都派生自Object。
Object.toString()方法默认返回“类名 @ hashCode” 为使返回有意义,子类可重写toString()方法。
Java方法覆盖”的语法规则
(1)覆盖方法的允许访问范围不能小于原方法。 (2)覆盖方法所抛出的异常不能比原方法更多。 (3)声明为final方法不允许覆盖。 例如,Object的getClass()方法不能覆盖。 (4)不能覆盖静态方法
参考:金旭亮Java编程系列(2014版)
阅读全文
0 0
- Java继承
- JAVA-继承
- java 继承
- Java继承
- Java 继承
- JAVA继承
- java继承
- java/继承
- java 继承
- java继承
- java继承
- JAVA-继承
- Java继承
- java 继承
- JAVA 继承
- 【继承】 JAVA
- Java继承
- Java继承
- 代码重构实践
- Slim研读笔记一之如何读框架
- 程序跳过了validation.xml 直接执行后面的execute();求解????
- 如何充分利用多核CPU,计算很大的List中所有整数的和
- code forces Hopscotch (找规律)
- Java 继承
- C#高级部分
- git删除master分支后重建
- 【我的Java笔记】IO流_使用IO流进行文件的复制和粘贴
- 构建DevOps落地的自动化持续交付流水线的工具链
- http协议_Cookie 和 Session
- 第三篇:spring webflow
- 算法提高 幸运顾客
- jquery treeview 简介