Java面向对象-抽象类

Java面向对象-抽象类

定义:在java中,含有抽象方法的类称为抽象类,同样不能生成对象;

注意点

1,包含一个抽象方法的类是抽象类;

2,抽象类和抽象方法都要用abstract关键字修饰;

3,抽象方法只需要声明而不需要实现;

4,抽象类必须被子类继承,(假如不是抽象类)必须重写抽象父类中的全部抽象方法;

5,抽象类不能被实例化;

我们先来定义一个抽象类:

 1 package com.java1234.chap03.sec11;
 2
 3 /**
 4  * 定义一个抽象类People
 5  * @author user
 6  *
 7  */
 8 public abstract class People {
 9
10     private String name;
11
12     public String getName() {
13         return name;
14     }
15
16     public void setName(String name) {
17         this.name = name;
18     }
19
20     public void say(){
21         System.out.println("我的姓名是:"+this.getName());
22     }
23
24     /**
25      * 定义一个抽象方法 职业 让子类去具体实现
26      */
27     public abstract void profession();
28
29 }

抽象类,定义一个属性name 以及方法say() 再定义一个抽象方法 profession 具体实现让子类去实现;

我们搞一个测试类:

我么尝试下实例化下People类:

我们会看到 编译出错,不能实例化People类;

我们定义一个Student类,以及一个Teacher类:

 1 package com.java1234.chap03.sec11;
 2
 3 public class Student extends People{
 4
 5     @Override
 6     public void profession() {
 7         System.out.println("职业是:学生");
 8     }
 9
10 }
 1 package com.java1234.chap03.sec11;
 2
 3 public class Teacher extends People{
 4
 5     @Override
 6     public void profession() {
 7         System.out.println("职业是:老师");
 8     }
 9
10 }

我们搞一个测试类:

 1 package com.java1234.chap03.sec11;
 2
 3 public class Test {
 4
 5     public static void main(String[] args) {
 6
 7         Student student=new Student();
 8         student.profession();
 9
10         Teacher teacher=new Teacher();
11         teacher.profession();
12
13     }
14 }

运行输出:

职业是:学生

职业是:老师

时间: 2024-12-20 11:13:04

Java面向对象-抽象类的相关文章

Java面向对象—抽象类和接口

本文引用海子的一篇文章:http://www.cnblogs.com/dolphin0520/p/3811437.html 一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: abstract void fun(); 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰.因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象. 下面

java面向对象- 抽象类和接口

一.final关键字: 1.final关键字在java中被称为完结器,表示最终的意思 2.final能声明类.方法.属性: 使用final声明的类不能被继承 使用final声明的方法不能被重写 使用fanal声明的变量变成常量,常量不可以被修改.变量变成常量时,一般使用大写,例如:final int AGE = 22; 二.抽象类: 1.包含一个抽象方法的类就是抽象类. 2.声明而未被实现的方法就是抽象方法.必须使用abstract声明. 3.抽象类被子类继承,不能直接对其进行实例化,必须通过其

JAVA面向对象 - 抽象类、接口

抽象类 用abstract关键字来修饰一个类时,这个类就叫抽象类,用abstract关键字来修饰一个方式时,这个方法就是抽象方法.当一个类继承的父类是抽象类的话,需要我们把抽象类中的所有抽象方法全部实现.那为什么要用抽象类呢?当父类的一些方法不能确定时,可以先在抽象类里定义抽象方法. 注意事项 Ⅰ.抽象类不能被实例化 Ⅱ.抽象类不一定要包含abstract方法. Ⅲ.一旦类包含了abstract方法,则这个类必须声明为abstract Ⅳ.抽象类不能有主体 实例 1 package com.be

java面向对象的核心思想

Java面向对象-抽象类与接口 1.Java final关键字的使用 package edu.tongji.fni; /*final关键字 * 1.final关键字在java中被称为完结器,表示最终的意思 * 2.final能声明类.方法.属性: * 使用final声明的类不能被继承 * 使用final声明的方法不能被重写 * 使用final声明的变量变成常量,常量是不可以被修改的 */ class People{ //前面加了final下面的类会报错 public void tell(){ }

c# 面向对象抽象类的使用

上一篇 讲了 Java 面向对象抽象类的使用.这次我们来学习 C#面向对象抽象类的使用.其实方法理论掌握了,语言只是工具.闲话少说.下面是上一篇的需求 抽象类大家都知道,但是具体有什么用,为什么要用到抽象类.大家肯定有人不太明白.培训中心老师怎么教就怎么用.最近闲来无事.研究起面向对象理论.下面让我用一个例子来说明一下.面向对象抽象类的使用方法.只是起到一个入门和抛砖引玉的作用.(理论和语言无关) 定义和概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来

java面向对象编程(八)--抽象类、接口

1.抽象类 1.1抽象类概念 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法[抽象方法],用abstract来修饰该类[抽象类]. //抽象类的必要性[Demo124.java] public class Demo124 { public static void main(String[] args) { //Animal an=new Animal();抽象类不允许实例化 Animal an=new Cat(); an.cry(); an=new Dog(); an.cr

第6篇-JAVA面向对象Ⅱ

第6篇-JAVA面向对象Ⅱ 每篇一句 :敢于向黑暗宣战的人,心中必定充满光明 初学心得: 面向对象 春暖花开 (笔者:JEEP/711)[JAVA笔记 | 时间:2017-04-05| JAVA面向对象 Ⅱ] 1.JAVA面向对象三大特征 1.封装(Encapsulation); 2.继承(Inheritance); 3.多态(Polymorphism) 2.面向对象 之 封装 什么是封装? 封装就是隐藏实现细节,仅对外提供访问接口 封装的类型有:属性封装.方法封装.类封装.组件封装.模块化封装

Java面向对象编程(一)

由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymorphism)和封装性(encapsulation). 一. 继承性 [类修饰词列表] class 类名 [extends 父类名] [implements 借口列表名] { 类体 } class Employee { public int workYear; public Employee() {

Java基础-抽象类和接口

抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 抽象定义: 抽象就是从多个事物中将共性的,本质的内容抽取出来.     例如:狼和狗共性都是犬科,犬科就是抽象出来的概念. 抽象类: Java中可以定义没有方法体的方法,该方法的具体实现由子类完 成,该方法称为抽象方法,包含抽象方法的类就是抽象类. 抽象方法的由来: 多个对象都具备相同的功能,但是功能具体内容有所不