java 中的抽象类

在自上而下的继承层次结构中,位于上层的类更具有通用性,甚至可能更加抽象。从某种角度看,祖先类更加通用,它只包含一些最基本的成员,人们只将它作为派生其他类的基类,而不会用来创建对象。甚至,可以只给出方法的定义而不实现,由子类根据具体需求来具体实现。

这种只给出方法定义而不具体实现的方法被称为抽象方法abstract,抽象方法是没有方法体的(没有{}),在代码的表达上就是没有“{}”。包含一个或多个抽象方法的类也必须被声明为抽象类。使用 abstract 修饰符来表示抽象方法和抽象类。抽象类除了包含抽象方法外,还可以包含具体的变量和具体的方法。类即使不包含抽象方法,也可以被声明为抽象类,防止被实例化。抽象类不能被实例化,抽象方法必须在子类中被实现。

示例代码:

package 抽象类;

public class abstractclass {
    public static void main(String[] args) {
        Teacher t = new Teacher();
        t.setName("liming");
        t.work();
        Student s = new Student();
        s.setName("jim");
        s.work();
    }
}

//定义一个抽象类
abstract class People{
    private String name;
    //使用shift + alt + s 快速生成get、set方法(右击source)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    //定义一个抽象方法
    public abstract void work();
}

class Teacher extends People{
    public void work(){
        System.out.println("I‘m teacher,name is " + this.getName() + " 正在授课。");
    }
}

class Student extends People{
    public void work(){
        System.out.println("I‘m student, name is " + this.getName() + " 正在学习。");
    }
}
时间: 2024-10-05 05:11:55

java 中的抽象类的相关文章

JAVA中的抽象类和接口

一 抽象类 抽象类就是不能被实例化的类,即不可以用new运算符创建本类的对象.在实际应用中,抽象类应该具有子类,且其子类一般不为抽象类. java中使用抽象类的原因有如下四点: 1.抽象类是较高层次的概括,其他的类可以继承它的抽象化特征: 2.抽象类包括它的所有子类共享的公共行为和公共属性,即抽象类中定义一些属性和方法,其他类继承该抽象类并实现这些属性和方法: 3.抽象类使编写程序更贴近人类的思维方式和客观世界: 4.在用户生成实例时强迫用户生成更具体的实例,保证代码的安全性. 二 接口 在接口

Java读书笔记十四(java中的抽象类)

前言 在java中,有时候需要对类的行为进行提取,因此也就有了抽象类和接口的概念,这篇博客,小编来剖一下java中的抽象类和接口.  抽象方法和抽象类 抽象方法和抽象类的规则如下: 1.抽象类必须使用abstract修饰符来修饰,抽象方法也必须使用abstract修饰符来修饰,抽线方法不能有方法体 2.抽象类不能被实例化,无法使用new关键字来调用抽象类的构造器创建抽象类的实例.即使抽象类里不可包含抽象方法,这个抽象类也不能被创建实例. 3.抽象类可以包含成员变量.方法(普通方法和抽象方法都可以

Java 中的抽象类及接口

抽象类使用 abstract 关键字修饰,该类即为抽象类. 抽象类的作用: 1.某些情况下,父类约束子类必须包含哪些方法,但不知道子类如何去实现这些方法. 2.可以从多个具有相同特征的类中抽象出一个抽象类,以这个抽象类作为子类的模板,避免子类设计的随意性. 抽象类的使用规则: 1.使用 abstract 定义抽象对象: 2.abstract 定义抽象方法,只有声明,不需要实现: 3.包含抽象方法的类是抽象类: 4.抽象类中可以包含普通的方法,也可以没有抽象方法: 5.抽象类不能直接创建,可以定义

黑马程序员————java中的抽象类

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 抽象类集中的体现了java面向对象的特性,对于每一种事物通过五个方面:属性,方法,构造器,代码块,内部类,来重新解构再进行组装,然后将类似的事物归为一类,这是面向对象的思想.java中常说万物皆对象,那么很显然我们可以进一步的将其中的方法

java中的抽象类(abstract)

抽象类的概念 抽象这个词说白了就是看不懂,毕加索的画一般都是被称为抽象的.在java里面可以使用关键字abstract修饰- -个类,这样的类被称为抽象类, abstract修 饰的方法叫做抽象方法.抽象类或抽象方法-般也是看不懂的,因为里面可能根本就没有代码. 抽象类的特点 ■抽象类无法被实例化,无法创建抽象类的对象.●虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的.这也算是多态的一种.■抽象类中不- -定有抽象方法,但抽象方法必须出现在抽象类中.抽象类中的子

java中的抽象类与接口

抽象类: 用关键字abstract(位于class关键字之前的任何位置)修饰的类叫做抽象类,抽象类不能被实例化,即不能new出来一个抽象类的对象(实例). 对于关键字abstract---->可选修饰符(static.final.abstract)一般可以共存,但abstract与static.final都不能同时共存(理解其的真正含义) 抽象方法: 用abstract关键字所修饰的方法叫做抽象方法. 抽象方法必须定义在抽象类中. 抽象方法有声明,无实现(没有花括号{},有花括号但是内容为空也是

《Java中的抽象类及抽象类的作用》

1 //抽象类示例: 2 abstract class Shape1 3 { 4 { 5 System.out.println("执行Shape的初始化块..."); 6 } 7 private String color; 8 //定义一个计算周长的抽象方法, 9 public abstract double calPerimeter(); 10 //定义一个返回形状的抽象方法, 11 public abstract String getType(); 12 //定义Shape的构造器

java中的抽象类

abstract class PlaneGraphics //平面类,抽象类{    private String shape; //形状   //构造方法,有参数    public PlaneGraphics(String shape)    {        this.shape=shape;    } //无参数,构造方法    public PlaneGraphics()    {        this("未知图形");    }    //抽象方法    public a

java中的抽象类和抽象方法

abstract修饰抽象类和抽象方法. 包含抽象方法的类只能定义成抽象类,但是抽象类中可以没有抽象方法. 抽象方法没有方法体.只能由子类提供实现(重写). 抽象类只能被继承,final修饰的类不能被继承,所以abstract和final不能共存. 抽象方法如下所示: public abstract class Sharp//抽象类 { private String color; public abstract String getType();//抽象方法 public abstract dou