随记——抽象类和接口的初认识。

抽象类

关于抽象类的理论认识。

  1. 有的方法不能被实现,这样的方法称为抽象方法。
  2. 但凡是又抽象方法的类都叫做抽象类。
  3. 抽象方法和类的关键字:abstract

**注意:**抽象类可以没有抽象方法但是抽象方法必须要又抽象类。

抽象方法虽然不能直接实现,但是可以用它的子类方法来实现。

例如:

//定义一个抽象类Animal
abstract class Animal{
	//定义一个抽象方法 shout ()
	pulic abstract void shout () ;
}
//定义一个 Dog 继承抽象类 Animal
class Dog extends Animal { 
	//实现抽象方法 shout () ,编写方法体
	public void shout () {
		System.out.println ("汪汪汪") ;
}
}

// 定义一个测试类
public class Example {
	public static void main ( String [] args ) {
		Dog dog = new Dog () ;		//创建Dog类的实例对象
		dog . shout () ;					// 调用 dog 对象的 shout () 方法
	} 
}

接口

关于接口的理论认识:

  1. 如果一个抽象类中全是抽象方法,则称为 “接口”。
  2. 接口中有一个不是抽象方法就不能叫接口。
  3. 在后续版本中,接口中可以有默认方法( default修饰 )和静态方法 ( static 修饰)且允许有方法体。
  4. 接口定义和类不一样,使用的是 inteface 而不是class。

注意:接口中的抽象方法可以省略abstract。

例如:

// 定义一个 Animal 接口
interface Animal {
	int ID = 1;			// 定义全局
	void breathe () ;	// 定义抽象方法 breathe ()
	// 定义一个默认方法
	default void  getType (String type) {
		System.out.println ("该动物属于 :" + type);
	}
	// 定义一个静态方法
	static int getID () {
		return Animal .ID;
	}
}
// Dog 类实现了 Animal 的接口
class Dog implements Animal {
	// 实现了breathe () 方法
	public void breathe () {
		System.out.println ("狗在呼吸");
	}
}
// 定义测试类
public class Example {
	public static void main(String[] args) {
		System.out.println(Animal.getID());		// 通过接口名调用方法
		Dog dog = new Dog();					// 创建 Dog 类的实例对象
		System.out.println(dog.ID);				// 在实现类中获取接口全局变量
		dog.breathe();							// 调用 dog 对象的 breathe() 方法
		dog.getType("犬科"); 					//通过接口实现类 Dog 的实例化对象,调用接口默认方法
	} 
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值