抽象类和抽象方法 abstract类和abstract方法

可以使用abstract来修饰一个类或者方法。

用abstract修饰的类表示这个类是一个抽象类,用abstract修饰的方法表示这个方法是一个抽象方法。

抽象类不能被实例化。

抽象方法是只有方法声明,而没有方法的实现内容。

一个类中,只要有一个抽象方法,这个类必须被声明为抽象类
抽象方法在非抽象子类中必须被重写。
重写了这两个方法,虽然方法体里面 {} 的内容是空的,也算重写了这个方法。注意看重写方法的参数名称,这里只要参数数量一致就可以,不要求参数的名称必须一致。

一个类中,只要有一个抽象方法,这个类必须被声明为抽象类
抽象类继承另外一个抽象类时,不用重写其中的抽象方法。
抽象类在被继承后,其中的抽象方法不能被重写,目的对抽象类的扩展。

看到静态抽象方法可以声明。实现这个方法时,必须是静态的方法。

一个类中,只要有一个抽象方法,这个类必须被声明为抽象类

时间: 2024-08-03 08:14:10

抽象类和抽象方法 abstract类和abstract方法的相关文章

java abstract类和abstract方法

Example5_12.java abstract class A { abstract int add(int x,int y); int sub(int x,int y) { return x-y; } } class B extends A { int add(int x,int y) { //子类必须重写父类的add方法 return x+y; } } public class Example5_12 { public static void main(String args[]) {

静态、抽象类、加载类、魔术方法等

静态  static关键字 普通成员普通成员是属于对象的 静态成员静态成员是属于类的 普通方法里面可以调用静态成员静态方法里面不能调用普通成员self关键字 在类里面代表该类 普通类 class Ren { public $name="张三"; public static $zhongzu; //静态成员 普通方法 function Say() { echo self::$zhongzu."你好"; } 静态类 static function Run() { ech

2.匿名类,匿名类对象,private/protected/public关键字、abstract抽象类,抽象方法、final关键字的使用,多线程Thread类start方法原理

package com.bawei.multithread; //注意:模板方法我们通常使用抽象类或者抽象方法!这里我们为了方便在本类中使用就没有使用抽象类/抽象方法 public class TemplateThread { //如果这个方法不想被子类或者别人随意改动[这样子类就不能覆写该方法了],这里方法就要设置为final方法 public final void println(String message){ System.out.println("###################

抽象类abstract(包含抽象方法的类)

一种模板模式.抽象类为所有子类提供了一个通用模板,子类可以在这个模板基础上进行扩展.    通过抽象类,可以避免子类设计的随意性.要点: 有抽象方法的类只能被定义为抽象类. 抽象类不能实例化,即不能用new来实例化抽象类. 抽象类可以包含属性.方法.构造方法.但构造方法不能用来new实例,只能用来被子类调用. 抽象类只能用来继承. 抽象方法必须被子类实现. 另附:抽象类和接口的对比 -- http://www.cnblogs.com/dolphin0520/p/3811437.html

JAVA抽象类和抽象方法(abstract)

一.抽象(abstract)的使用 当父类的某些方法不确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. 我们都知道,父类是将子类所共同拥有的属性和方法进行抽取,这些属性和方法中,有的是已经明确实现了的,有的还无法确定,那么我们就可以将其定义成抽象,在后日子类进行重用,进行具体化.这样,抽象类也就诞生了. 例如,定义了"动物"父类,其中"动物名称"和"动物年龄"属性已经明确了,但是"动

深入解读php中抽象(abstract)类和抽象方法

在面向对象(OOP)语言中,一个类可以有一个或多个子类,而每个类都有至少一个公有方法作为外部代码访问的接口.而抽象方法就是为了方便继承而引入的,现在来看一下抽象类和抽象方法分别是如何定义以及他们的特点. 什么是抽象方法? 我们在类里面定义的只有方法名没有方法体的方法就是抽象方法,所谓没有方法体就是在方法声明的时候没有大括号以及其中的内容,而是直接声明时在方法名后加上分号结束,另外在声明抽象方法时还要加一个关键字"abstract"来修饰. 1.抽象关键字 :abstract 抽象就是无

c# 抽象类,抽象方法使用(abstract)

入行一年多,在这个IT行业,开发技术主要使用的是.NET,而对应使用的高级语言自然就是c#了.从2017年7月入职后,在平时的工作过程中,只记得使用一些方法去完成逻辑功能,而很少去深究一些语法特性,特别是没有去关注为什么会去使用这些语法.现在,入职一家新公司,那就从现在开始,一有空就做一些学习记录,同时这也是一种分享,希望在园子里可以和大家多多交流. 平时在看项目代码的时候,经常看到Abstract这个关键字,但是我只是知道它该怎么用,却没有去关心为什么这么用.著名哲学家黑格尔曾经说过,"存在即

Java之关键字abstract(抽象类与抽象方法)

/* * abstract关键字的使用 * 1.abstract:抽象的 * 2.abstract可以用来修饰的结构:类.方法 * * 3. abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例化时调用(涉及:子类对象实例化的全过程) * > 开发中,都会提供抽象类的子类,让子类对象实例化,完成相关的操作 * * * 4. abstract修饰方法:抽象方法 * > 抽象方法只有方法的声明,没有方法体 * > 包含抽象方法的类,一

抽象类和抽象方法(关键字abstract)

 1.抽象类不能被实例化,可以没有,一个或多个抽象方法  2.抽象方法只有方法的声明但没有方法的实现,有抽象方法的类必须声明为抽象类,子类必须重写父类所有的抽象方法才能被实例化,否则子类也是个抽象类,  3.abstrat可以用来修饰类和方法,但不能修改属性和构造函数,但可以有构造方法