抽象类小结
来源:互联网 发布:midi键盘软件 编辑:程序博客网 时间:2024/06/11 12:57
一..抽象类的基本语法:
1.在面向对象过程中类是抽象的,类对象是具体的。
2.只有函数的定义,没有函数体的函数被称为抽象函数:
abstract void fun();
abstract //摘要
3.什么是抽象类(基类)
在java中,用abstract关键字来修饰一个类时,这个类叫抽象类。
1)抽象类不能够生成对象;
2)如果一个类当中包含有抽象函数,那么这个类必须被声明为抽象类。
3) 如果一个类当中没有抽象函数,那么这个类也可以被声明为抽象类。
4)抽象类是用来当父类,它的子类可以用来事先,抽象类一般称为基类,是用来继承的。
5)a.抽象类不能生成对象;
b.构造函数用于生成类的对象。抽象类可以通过子类的对象调用抽象类的构造函数。
c.抽象类不能生成对象,但是可以拥有构造函数。
6)abstract类只关心它的子类是否具有某种功能,并不关心该功能的具体实现,功能的具体行为由子类负责实现。
7)用abstract来修饰一个方法时,该方法叫做抽象方法。与final类和方法相反,abstract类必须被继承。abstract方法必须被重写。
二.抽象类的例子:
1.定义一个抽象类Person.java
abstract class Person{
String name;
int age;
Person(){ //构造函数不带返回值
System.out.println("Person 的构造函数");
}
Person(String name, int age){
this.name = name;
this.age = age;
System.out.println("name :=" + name + "age :=" +age);
}
void introduce(){
System.out.println("我的名字是" + name + "我的年龄是:" + age);
}
abstract void eat(); //抽象方法
}
2.继承抽象类Person的子类 Sdutent.java
class Sdutent extends Person{ //抽象类继承也使用 extends关键字
String address;
Sdutent(){
super(); //父类Person的构造函数
System.out.println("Sdutent 的构造函数");
}
Sdutent(String name, int age,String address){
super(name, age);//调用抽象类的构造函数
this.address = address;
}
//复写父类当中的eat的抽象方法
void eat(){
System.out.println("Sdutent 筷子!");
}
}
3.执行的类 Test.java
class Test{
public static void main(String args[]){
//Person p = new Person();
//p.introduce(); //抽象类不能生成对象,无法调用抽象方法。
//Sdutent s= new Sdutent();
//s.introduce();
Person p = new Sdutent(); //向上转型
p.eat();
}
}
- 抽象类小结
- 抽象类小结
- 抽象类和接口小结
- 抽象类和接口小结
- 抽象类和接口小结
- 抽象类和接口小结
- java中的final、抽象类、接口小结
- java中的抽象类和接口小结
- 接口和抽象类的区别小结
- C#接口与抽象类小结
- 抽象类与接口学习小结
- java中的final、抽象类、接口小结
- 继承小结与抽象
- 面向对象与类的+抽象类和接口小结
- 接口与抽象类的区别(我的小结)
- 黑马程序员.net学习笔记2--接口,抽象类小结。
- javase简单入门9 抽象类,接口,小结
- 【自用】Javanote170802(抽象类接口内部类小结)
- Git使用之——冲突解决一(git merge conflict)
- php 常用自定义方法
- cocos2d-x帧动画 -- 角色跑动
- HDU 1013 Digital Roots
- FutureTask一例
- 抽象类小结
- 指针的魅力
- 题目1000:计算a+b
- android之SlidingMenu滑动菜单栏使用介绍
- 双机调度问题
- real,user and sys 进程时间统计
- (HLS播放器之一)HLS协议之M3U8解析
- 标准的产品设计工作流程
- 使用循环坐标下降(CCD)算法解算反向运动学(IK)