zoukankan      html  css  js  c++  java
  • 面向对象_继承性_抽象类

    继承性:

    一个类可以继承另外的一个类,使用extends关键字例如:

    public class Student extends Person{
    
    }
    

    如果一个类A继承自一个类B,A类称为子类或者叫做派生类。B类叫做父类或者是基类或者叫做超类。

    子类可以继承父类中全部的属性以及方法。

    注意:java中只允许单继承,不允许多重继承。但是允许多层继承。

    即便是子类与父类之间也存在着访问权限的控制,子类中不能随意的访问父类中私有化的成员(属性以及方法)。

    子类对象被创建之前,先创建父类的对象。

    父类的静态块会优先被执行,然后执行子类的静态块,执行父类的构造块,父类的构造方法,子类的构造块,子类的构造方法。

    方法的重载:overload
    方法的重写:override

    重写发生在子类与父类中,是指子类对父类的方法进行重写,要求子类的方法的方法名与父类方法的方法名相同。参数列表也相同,方法的返回值类型也要一致,但是子类的访问权限不能比父类的访问权限小。

    Super关键字:
    1.强调是父类的属性或者是方法。
    
    2.可以调用父类的构造方法
    

    注意:如果子类的构造方法没有明确的指定调用父类的哪一个构造方法时,默认的调用父类无参数的构造方法。

    当父类没有无参数构造方法的时候,在子类的构造方法中,必须明确指定具体调用父类的哪一个有参数构造方法。

    super调用父类构造方法的语句,必须写在子类构造方法的首行。

    注意:super不代表父类对象。

    final关键字:
    1.使用final修饰的变量即为常量,常量的值一旦被指定就不能被更改。
    
    2.使用final修饰的类不能有子类。
    
    3.使用final修饰的方法不能被子类重写。
    

    抽象类:

    java中有一种类专门用来给别的类当做父类的。这个类就叫做抽象类。抽象类是使用abstract修饰的类。

    抽象方法:

    使用abstract修饰的方法被称作抽象方法。

    注意:抽象方法不写具体的实现,不写大括号以及大括号中的代码

    抽象类的声明以及使用规则:
    1.抽象类必须使用abstract进行修饰。
    
    2.如果一个类中包含了至少一个的抽象方法,这个类必须声明为抽象类。
    
    3.如果一个子类(不是抽象类)继承了一个抽象类,那么这个子类必须重写抽象类中全部的抽象方法。
    
    抽象类的语法:
    访问权限修饰符 abstract class 类名 【extends 类名】{
        属性
    	方法
    	抽象方法
    }
    

    注意:抽象类不能创建对象

    抽象类的具体应用:

    模板设计模式

    访问权限修饰符 【final】 【static】 【abstract】 返回值类型 方法名称(【参数】){
    }
    
  • 相关阅读:
    ASP.NET MVC 2 RC 2 发布
    [备忘]XCode快捷键
    ASP.NET MVC v2 Priview 2发布
    Senparc.com Google Sitemap Builder v1.0提供免费定制服务申请
    [备忘]SQL Server 字符集更改
    ASP.NET MVC脚手架辅助工具——MvcScaffoldTool v2.0版本发布,支持Area自动映射
    [备忘]SQL Server 2005数据库varchar插入中文出现乱码的一种可能及解决办法
    [备忘]苹果系统MAC OS X 10.5.6 (雪豹 snowleopard 10.5.6) 启用root方法
    准备好好看看《编程珠玑》
    格式化输入/输出
  • 原文地址:https://www.cnblogs.com/SunMoonSky/p/12370575.html
Copyright © 2011-2022 走看看