java 抽象类和抽象函数(第23集)

以下内容来自marschen的java4android视频教程.


主要内容
1.抽象函数的语法特征.
2.抽象类的语法特征.
3.抽象类的作用.

在面向对象有一个非常非常有用的东西,先抽象,再具体.
因为抽象不容易出现错误

问1:什么是抽象函数
只有函数的定义,没有函数体的函数被称为抽象函数.
abstract void fun();


问2什么是抽象类
使用abstract定义的类被称之为抽象类.
1.抽象类不能够生成对象.
2.如果一个类当中包含有出象函数,那么这个类必须声明为抽象类.
3.如果一个类当中没有抽象函数,那么这类也可以被声明为抽象类.

抽象类可以有构造函数么?
条件:
1.抽象类不能生成对象.
2.构造函数用于生成类的对象.
结论: 如果从这个片面的两点来看,抽象类没有构造函数.
 但是.抽象类可以有构造函数,这个构造是为子类服务的.
 
把知识横向串列在一起,让它为了一个目的,减少重复代码.

 
总结
1.抽象函数就是没有函数体的函数.
2.抽象类使用abstrace来定义.
3.抽象类不能生成对象,但是却可以拥有构造函数.
   这构造函数是为了子类准备的. 

abstract class Person23{
	String name;
	int age;
	
	Person23(){
		System.out.println("person构造函数");
	}
	
	Person23(String name ,int age){
		this.name = name;
		this.age = age;
		}
	void introduce(){
		System.out.println("名字是" +name+age);
	}
	
	abstract void eat(); 
}

//这样可以能过编译.
//abstract class Chinese extends Person23{
//	 
//}

//这样可能通过编译.
 class Chinese extends Person23{
 	Chinese(){
 		System.out.println("chinese构造函数");
 	}
 	Chinese(Sting name,int age ,String address){
 		super(name,age);
 		this.address = address;
 		}
 	
	 void eat(){
	 	System.out.println("用筷子吃饭");
	}
	
}


class TestChinese{
	public static void main(String args[]){
		Person23 p = new Chinese();
		p.eat(); 
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值