Java接口与接口实现实验_【java笔记】类, 抽象类, 接口的简单实验

要接触了 抽象,继承,多态,封装的java。

为了加深理解自己做了一个简单的实验。

1.类只能继承一个。

2.抽象类也只能继承一个。

3.接口可以继承多个。

4.不能同时继承类和接口,也不能同时继承抽象类和接口。

我先创建了以下文件。

图片备用地址

bf0fd8e14298

文件目录结构

先看看每个文件的代码

【AnimalAbstract】抽象类里添加了2个函数,其中一个是抽象函数。

package animals.animal;

public abstract class AnimalAbstract {

public void eat(String name){

System.out.println("eat:" + AnimalAbstract.class + " | name:" + name);

};

public abstract void sleep(String name);

}

【AnimalClass】一个普通的类和函数。

package animals.animal;

public class AnimalClass {

public void smile(String name){

System.out.println("smile:" + AnimalAbstract.class + " | name:" + name);

};

}

【AnimalClass】两个不同的接口。

package animals.animal;

public interface AnimalInterfaceJump {

public void jump (String name);

}

package animals.animal;

public interface AnimalInterfaceRun {

public void run (String name);

}

【Cat】继承了一般类

package animals.MammalInt;

import animals.animal.*;

public class Cat extends AnimalClass {

}

【Dog】继承了抽象类,实现了AnimalAbstract的sleep函数

package animals.MammalInt;

import animals.animal.AnimalAbstract;

public class Dog extends AnimalAbstract {

@Override

public void sleep(String name) {

System.out.println("sleep:" + Dog.class + " | name:" + name);

}

}

【Sheep】继承了两个接口,以及实现了两个接口的函数

package animals.MammalInt;

import animals.animal.AnimalInterfaceRun;

import animals.animal.AnimalInterfaceJump;

public class Sheep implements AnimalInterfaceRun, AnimalInterfaceJump {

@Override

public void run(String name) {

System.out.println("run:" + Sheep.class + " | name:" + name);

}

@Override

public void jump(String name) {

System.out.println("jump:" + Sheep.class + " | name:" + name);

}

}

package animals;

import animals.animal.AnimalAbstract;

import animals.animal.AnimalClass;

import animals.animal.AnimalInterfaceRun;

import animals.animal.AnimalInterfaceJump;

import animals.MammalInt.Cat;

import animals.MammalInt.Dog;

import animals.MammalInt.Sheep;

public class main {

public static void main(String[] args) {

System.out.println("-------------class------------");

// 继承一般类可以自由调用父类的函数

AnimalClass animalClass = new Cat();

animalClass.smile("catName");

System.out.println("-------------abstract------------");

// 继承抽象类,可以调用实现后的函数

AnimalAbstract animalAbstract = new Dog();

animalAbstract.sleep("dogName");

animalAbstract.eat("dogName");

System.out.println("-------------interface------------");

// 只能调用接口内的实现好的函数

AnimalInterfaceRun animalInterfaceRun = new Sheep();

animalInterfaceRun.run("sheepName");

//animalInterfaceRun.jump("sheepName"); 这么写会出错,原因大家应该明白...^^

AnimalInterfaceJump animalInterfaceJump = new Sheep();

animalInterfaceJump.jump("sheepName");

}

}

编译以后,可以查看结果

$ javac animals/animal/AnimalAbstract.java animals/animal/AnimalClass.java animals/animal/AnimalInterfaceRun.java animals/animal/AnimalInterfaceJump.java animals/MammalInt/Cat.java animals/MammalInt/Dog.java animals/MammalInt/Sheep.java animals/main.java

$ java animals.main

-------------class------------

smile:class animals.animal.AnimalAbstract | name:catName

-------------abstract------------

sleep:class animals.MammalInt.Dog | name:dogName

eat:class animals.animal.AnimalAbstract | name:dogName

-------------interface------------

run:class animals.MammalInt.Sheep | name:sheepName

jump:class animals.MammalInt.Sheep | name:sheepName

做了最最基本的简单测试,别见笑...^^

欢迎大家的意见和交流

email: li_mingxie@163.com

包与接口实验报告 实验 包与接口实验目的】 1. 了解Java 中包(package)、接口(interface)的作用。 2. 掌握包、接口设计方法。 【实验要求】 1. 了解Java 系统包的结构。 2. 掌握创建自定义包的方法。 3. 掌握使用系统接口的技术和创建自定义接口的方法。 【实验步骤】 一.了解并使用Java 的系统包 1. API 包、接口、异常处理的作用 包是接口的集合。利用包可以把常用的或功能相似的放在一个包中。Java 语言提供系统包,其中包含了大量的,可以在编写Java 程序时直接引用它们。为便于管理和使用它们,将这些分为了不同的包。包又称库或API 包,所谓API(Application Program Interface)即应用程序接口。API 包—方面提供丰富的与方法供大家使用,如画图形、播放声音等,另一方面又负责和系统软硬件打交道,圆满实现用户程序的功能。所有Java API 包都以“java.”开头,以区别用户创建的包。 常见Java系统包及其作用: 1)语言包(java.lang):提供的支持包括字符串处理、多线程处理、异常处理、数学函数处理等,可以用它简单实现Java程序的运行平台。 2)实用程序包(java.util):提供的支持包括哈希表、堆栈、可变数组、时间和日期等。 输入输出包(java.io):用统一的流模型来实现所有格式的I/O,包括文件系统、网络、输入。 3)网络包(java.net):支持Internet的TCP/IP协议,用于实现Socket编程;提供了与Internet的接口,支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。 4)抽象图形用户接口包(javax.swing):实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得 Java可以移植到不同的平台。 接口解决了Java 不支持多重继承的问题,可以通过实现多个接口达到与多重继承相同的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值