abstract修饰方法总结

abstract这种方法修饰,主要用在抽象类和抽象方法.

抽象的类是不可实例化的比如

public abstract class Test{

}

他能够含有抽象的方法

public abstract class Test{

public abstract void defMethod();

}

抽象的方法是要让子类继承下去再定义它的,让抽象的概念得以设计。比如当一种面向对象设计遇到一种方法有多种设计的时候,能够在基类暂且不设计他,把设计的工作交给子类去完毕,但子类设计时,要么继续继承他超类的抽象概念,要么就把抽象的方法定义出来。

比如

abstract class Test2 extends Test{

……..

}

仍然不定义超类的抽象方法,继续把这样的抽象概念交给Test2的子类去完毕。

class Test2 extends Test{

public void deMethod(){

}

}

继承Test,让抽象的概念得到设计。尽管在{}里没有不论什么语句,但这也表示我们为他做了一种设计,一种什么也不做的定义。假设要定义能够写在{}里。

总结:

在类中没有方法体的方法,就是抽象的方法。

含有抽象方法的类,即为抽象类。

假设一个子类没有实现抽象基类中全部的抽象方法,则子类也能够成为一个抽象的类。

我们能够将一个没有不论什么抽象方法的类声明为abstract,避免由这个类产生不论什么的对象。

时间: 2024-08-26 06:09:57

abstract修饰方法总结的相关文章

JAVA学习--Abstract使用方法

* abstract:抽象的,可以用来修饰类.方法 *  * 1.abstract修饰类:抽象类  * 1)不可被实例化  * 2)抽象类有构造器 (凡是类都有构造器)  * 3)抽象方法所在的类,一定是抽象类.  * 4)抽象类中可以没有抽象方法.  *  * 2.abstract修饰方法:抽象方法  * 1)格式:没有方法体,包括{}.如:public abstract void eat();  * 2)抽象方法只保留方法的功能,而具体的执行,交给继承抽象类的子类,由子类重写此抽象方法.  

JAVA的abstract修饰符 && 接口interface用法 && 抽象类和interface的差别

abstract修饰符可以修饰类和方法. (1)abstract修饰类,会使这个类成为一个抽象类,这个类将不能生成对象实例,但可以做为对象变量声明的类型(见后面实例),也就是编译时类型.抽象类就相当于一类的半成品,需要子类继承并覆盖其中的抽象方法. (2)abstract修饰方法,会使这个方法变成抽象方法,也就是只有声明而没有实现,需要子类继承实现. (3)注意的地方: A:有抽象方法的类一定是抽象类.但是抽象类中不一定都是抽象方法,也可以全是具体方法.abstract修饰符在修饰类时必须放在类

static、final、abstract修饰符

一.static修饰符 1.1.static变量 在类中,使用static修饰的成员变量,就是静态变量,反之为非静态变量. 静态变量和非静态变量的区别            静态变量属于类的,"可以"使用类名来访问,非静态变量是属于对象的,"必须"使用对象来访问. public class Student{ private static int age; private double score; public static void main(String[] a

abstract修饰符,具体类与抽象类的区别

abstract修饰符 abstract可以修饰类,表示一个抽象类,注意:抽象类和具体类唯一的区别:类不能创建对象,而具体类是可以创建对象的 1.具体类有构造方法,抽象类也有构造方法 2.具体类可以有实例属性,抽象类也可以有实例属性 3.具体类可以有实例方法,抽象类中也可以有实例方法 4.具体类可以继承另外一个具体类,抽象类也可以继承另外一个具体类 abstract可以修饰一个方法,表示这是一个抽象方法,中有方法的声明,没有实现. 抽象类就是专门用来被继承的 一个类继承抽象类的时候,如果实现了抽

abstract修改方法

abstract这种方法修饰,主要用在抽象类和抽象方法. 抽象的类是不可实例化的比如 public abstract class Test{ } 他能够含有抽象的方法 public abstract class Test{ public abstract void defMethod(); } 抽象的方法是要让子类继承下去再定义它的.让抽象的概念得以设计.比如当一种面向对象设计遇到一种方法有多种设计的时候,能够在基类暂且不设计他,把设计的工作交给子类去完毕,但子类设计时.要么继续继承他超类的抽象

JAVA 同步之 synchronized 修饰方法

在JAVA多线程编程中,将需要并发执行的代码放在Thread类的run方法里面,然后创建多个Thread类的对象,调用start()方法,线程启动执行. 当某段代码需要互斥时,可以用 synchronized 关键字修饰,这里讨论 synchronized 关键字修饰方法时,是如何互斥的. synchronized 修饰方法时锁定的是调用该方法的对象.它并不能使调用该方法的多个对象在执行顺序上互斥. 下面举个具体的例子说明: Test.java 通过 implements Runnable 成为

synchronized修饰方法和对象的区别

使用synchronized(object) { 代码块.... } 能对代码块进行加锁,不允许其他线程访问,其的作用原理是:在object内有一个变量,当有线程进入时,判断是否为0,如果为0,表示可进入执行该段代码,同时将该变量设置为1,这时其他线程就不能进入:当执行完这段代码时,再将变量设置为0. 想保证代码块在任务情况下都同步,即代码块在程序的中同一时刻只被一个线程调用,即需要使用synchronized( static object). object必须是静态变量,否则不同对象调用该方法

static 修饰方法

查阅资料的时候突发了对static修饰方法的思考.设计方法时在怎样的情况下会用static来修饰呢? 抛去加载和生存周期的考虑,当一个类的方法,它独立于该类的任何对象(该方法与对象的状态无关).通常情况下,类成员必须通过它的类的对象访问,但是可以创建这样一个成员,它能够被它自己使用,而不必引用特定的实例.

synchronized(修饰方法和代码块)

synchronized(修饰方法和代码块) 1. 含义 synchronized 是同步锁,用来实现互斥同步. 在 Java 中,关键字 synchronized 可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作). synchronized 还可以保证一个线程的变化(主要是共享数据的变化)被其他线程所看到(保证可见性,完全可以替代 volatile 功能,但是 volatile 更轻量,还是要分场景使用). 2. 用法 synchr