JAVA学习笔记15——抽象类+接口

最近在看JAVA教学的视频,觉得老师讲的很好,同时借用源代码还有笔记来撰写本系列博客,记录自己的学习内容,同时也供看到的人学习。

本篇讲抽象类(abstract)和接口(interface)的主要内容。

首先来说一说抽象方法,抽象方法是一种只有声明但是没有方法体的方法,其意义为将方法的设计与实现分离。而抽象类之所以叫做抽象类就是因为有了抽象方法:


接下来看一看相关代码,关于一些细节方面的提醒均在代码中体现:

public abstract class Animal {
		String ss;//抽象类里面可以有正常的属性
		public abstract void run();   //定义抽象方法的格式
		public  void breath(){   //抽象类里面可以有正常的方法
			System.out.println();
			run();  //多态,如果调用指定是子类new出来的对象来调用的(抽象类不能new一个对象),所以这里调用的是子类的方法,不是父类的抽象方法,解释见上一篇笔记
		}
}

class Cat extends Animal{
	@Override   //注解,JDK5.0之后加入的,要求下面的方法必须是run的重写
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("Cat run!");
	}	
}
public class Test {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
			Animal  a = new Cat();
	}
}
第二个内容就是介绍接口:

接口是比抽象类更抽象的类,里面只有常量(注意:没有变量)和抽象方法。接口的常量定义的时候属性永远是public static final。未实现的方法只能是public abstract。这两个默认属性都是可以省略的不用写出来的。接口优势在于一个类可以实现多个接口、一个接口可以继承多个接口。



示例代码:

public interface MyInterface {
		String MAX_VALUE = "10000000";
		int max_speed = 120;
		
		public void test01();
		public int test02(int a,int b);
}
public class MyClass implements MyInterface {
   //要想实现接口必须实现其所有的所有的抽象方法。
	int v;
	@Override
	public void test01() {
		// TODO Auto-generated method stub
		System.out.println("01");
	}
	@Override
	public int test02(int a, int b) {
		// TODO Auto-generated method stub
		System.out.println("02!");
		return 0;
	}
}
public class Test {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		MyInterface a = new MyClass();
		//a.v;回报错,接口不能跑到实现它的类里面去调用该类的成员变量.
		a.test01();//输出“01”
	}
}








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值