java基础接口练习
1、编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法voidprintCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然后写一个类Print实现接口InterfaceA和InterfaceB,要求printCapitalLetter()方法实现输出大写英文字母表的功能,printLowercaseLetter()方法实现输出小写英文字母表的功能。再写一个主类E,在主类E的main方法中创建Print的对象并赋值给InterfaceA的变量a,对象a调用printCapitalLetter方法;最后再在主类E的main方法中创建Print的对象并赋值给InterfaceB的变量b,对象b调用printLowercaseLetter方法。
public interface InterfaceA {
void printCapitalLetter();
}
public interface InterfaceB {
void printLowercaseLetter();
}
public class Print implements InterfaceA,InterfaceB {
@Override
public void printLowercaseLetter() {
char[] chr=new char[26];
char j=65;
for(int i=0;i<=25;i++){
chr[i]=j;
j++;
}
System.out.print("大写字母:");
for(char temp:chr){
System.out.print(temp);
}
System.out.println();
}
@Override
public void printCapitalLetter() {
char[] chr=new char[26];
char j=97;
for(int i=0;i<=25;i++){
chr[i]=j;
j++;
}
System.out.print("小写字母:");
for(char temp:chr){
System.out.print(temp);
}
System.out.println();
}
}
public class E {
public static void main(String[] args){
InterfaceA a =new Print();
a.printCapitalLetter();
InterfaceB b=new Print();
b.printLowercaseLetter();
}
}

2、按要求编写Java程序:
(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);
(2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算1到n的和;
(3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口方法时,要求计算n的阶乘(n!);
(4)编写测试类E,在测试类E的main方法中使用接口回调的形式来测试实现接口的类。
public interface InterfaceA {
void printCapitalLetter();
int method(int n);
}
public class ClassA implements InterfaceA{
@Override
public int method(int n) {
// 1到n的和
int sum=0;
for(int i=0;i<=n;i++){
sum+=i;
}
return sum;
}
@Override
public void printCapitalLetter() {
// TODO 自动生成的方法存根
}
public class ClassB implements InterfaceA{
@Override
public int method(int n) {
//n的阶乘
int sum=1;
for(int i=1;i<=n;i++){
sum*=i;
}
return sum;
}
@Override
public void printCapitalLetter() {
// TODO 自动生成的方法存根
}
}
public class E {
public static void main(String[] args){
InterfaceA a =new Print();
a.printCapitalLetter();
InterfaceB b=new Print();
b.printLowercaseLetter();
InterfaceA e=new ClassA();
InterfaceA ee=new ClassB();
System.out.println("1到100的和是:"+e.method(100));
System.out.println("10的阶乘是:"+ee.method(10));
}
}

3、中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。要求如下:
(1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中有个“坚持党的领导”方法:void partyLeader()
(2)该应用程序中有一个“国务院”抽象类:StateCouncil,该抽象类中有个“安全生产”的抽象方法:abstract void safetyInProduction()
(3)该应用程序中有一个“省政府”类:Province,该类继承StateCouncil抽象类并且实现CentralPartyCommittee接口;在实现partyLeader()方法时输出“我们各省人民一定坚持党的领导!”;在重写safetyInProduction()方法时输出“我们各省人民一定按照国务院的指示进行安全生产!”。
(4)该应用程序中有一个主类E,在主类E的main方法中创建Province类的对象,来测试Province类的功能。
public interface CentralPartyCommittee {
void partyLeader();
}
public abstract class StateCouncil {
abstract void safetyInProduction();
}
public class Province extends StateCouncil implements CentralPartyCommittee {
@Override
public void partyLeader() {
System.out.println("我们各省人民一定坚持党的领导!");
}
@Override
void safetyInProduction() {
System.out.println("我们各省人民一定按照国务院的指示进行安全生产!");
}
}
public class E {
public static void main(String[] args){
//第三题
Province pro=new Province();
pro.partyLeader();
pro.safetyInProduction();
}
}

4、看下图实现如下接口和类,并完成Adventure中的主方法。


public interface CanSwim {
void swim();
}
public interface CanFly {
void fly();
}
public abstract class ActionCharacter {
abstract void fight(String emp);
void speak(String s){
System.out.println(s);
}
}
public class Hero extends ActionCharacter implements CanSwim,CanFly {
String name;
Hero(String name){
this.name=name;
}
@Override
public void fly() {
System.out.println(name+" I can fly!");
}
@Override
public void swim() {
System.out.println(name+" I can swim!");
}
@Override
void fight(String emp) {
System.out.println(emp);
}
}
public class Adventure {
public static void main(String[] args) {
Hero hb=new Hero("超人");
hb.swim();
hb.fly();
hb.fight("我要Fighting!");
hb.speak("I am superman!");
CanFly cf=hb;
cf.fly();
CanSwim cs=hb;
cs.swim();
ActionCharacter ac=hb;
ac.fight("我要打仗!");
ac.speak("我是超人,我无敌!");
}
}

5、利用接口做参数,写个计算器,能完成+-*/运算
(1)定义一个接口Compute含有一个方法int computer(int n,int m);
(2)设计四个类分别实现此接口,完成+-*/运算
(3)设计一个类UseCompute,含有方法:public void useCom(Compute com, int one, int two)
此方法要求能够:1.用传递过来的对象调用computer方法完成运算
2.输出运算的结果
(4)设计一个测试类,调用UseCompute中的方法useCom来完成+-*/运算
public interface Compute {
int computer(int n,int m);
}
public class Jia implements Compute {
@Override
public int computer(int n, int m) {
return n+m;
}
}
public class Jian implements Compute{
@Override
public int computer(int n, int m) {
return n-m;
}
}
public class Cheng implements Compute {
@Override
public int computer(int n, int m) {
return n*m;
}
}
public class Chu implements Compute {
@Override
public int computer(int n, int m) {
int sum = 0;
try{
sum=n/m;
}catch(Exception e){
System.out.println("被除数不能为0");
}
return sum;
}
}
public class UseCompute {
public void useCom(Compute com, int one, int two){
System.out.println(com.computer(one, two));
}
}
public class Testcompute {
public static void main(String[] args) {
UseCompute uc=new UseCompute();
System.out.print("10+5=");
uc.useCom(new Jia(),10,5);
System.out.print("10-5=");
uc.useCom(new Jian(),10,5);
System.out.print("10X5=");
uc.useCom(new Cheng(),10,5);
System.out.print("10/5=");
uc.useCom(new Chu(),10,5);
uc.useCom(new Chu(),10,0);
}
}

java基础接口练习的更多相关文章
- Java 基础 接口和多态
接口 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的 ...
- Java基础接口和抽象类区别(二)
抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则 ...
- java基础-接口
浏览以下内容前,请点击并阅读 声明 接口是java语言中的一个引用类型,和类一样,接口可以包含常量,方法签名,默认方法,静态方法和嵌套类型.含有方法主体的只有其中的默认方法和静态方法.接口不能被实例化 ...
- Java基础-接口中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产。请编写一个java应用程序描述上述的体制现象。 要求如下: (1)该应用程序中有一个“党中央”接口:CentralPartyCommittee,该接口中 有个“坚持党的领导”方法:void partyLeader() (2)该应用程序中有一个“国务院”抽象类:StateCouncil,
36.中国特色社会主义的体制中有这样的现象:地方省政府要坚持党的领导和按 照国务院的指示进行安全生产.请编写一个java应用程序描述上述的体制现象. 要求如下: (1)该应用程序中有一个“党中央”接口 ...
- [Java 基础]接口
抽象类和抽象方法 抽象方法 在面向对象编程语言中抽象方法指一些只有方法声明而没有具体方法体的方法抽象方法一般存在于抽象类或接口中. java中,抽象方法就是以 abstract 修饰的方法,只需要声明 ...
- Java基础--接口和抽象类的区别
任何不谈使用方法的空理论都是耍流氓 使用场景 · 如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧(Java1.8中接口也可以这么做了) · 如果你想实现多重继承,那么你必须使用接口 ...
- java基础—接口概念
一.接口的概念 JAVA是只支持单继承的,但现实之中存在多重继承这种现象,如“金丝猴是一种动物”,金丝猴从动物这个类继承,同时“金丝猴是一种值钱的东西”,金丝猴从“值钱的东西”这个类继承,同时“金丝猴 ...
- java基础——接口与抽象类的区别
(1)首先接口和抽象类的设计目的就是不一样的.接口是对动作的抽象,而抽象类是对根源的抽象. (2)对于抽象类,一个类只能继承一个抽象类.但是一个类可以同时实现多个接口. (3)接口是公开的,里面不能有 ...
- Java基础——接口
一:接口,英文称作interface,在软件工程中,接口泛指供别人调用的方法或者函数. 在封装与接口中,private关键字封装了对象的内部成员.经过封装,产品隐藏了内部细节,只提供给用户接口(int ...
随机推荐
- Prim算法和Kruskal算法(图论中的最小生成树算法)
最小生成树在一个图中可以有多个,但是如果一个图中边的权值互不相同的话,那么最小生成树只可能存在一个,用反证法很容易就证明出来了. 当然最小生成树也是一个图中包含所有节点的权值和最低的子图. 在一个图中 ...
- 对需要聚类的数据使用canopy做初步的计算
K值聚类的时候,需要自己指定cluster的数目. 这个cluster数目一般是通过canopy算法进行预处理来确定的. canopy具体描述可以参考这里. 下面是 golang语言的一个实现(对经纬 ...
- VC++6.0 Debug单步调试
相信大家对谭浩强童鞋都不陌生,想当年,是他 引领我们步入了C的殿堂,我们从他那里学会了如何写代码,他却没有教我们如何Debug,而我们伟大的老师,也对此只字不提.相信很少有人可以一次性写出 完全正确的 ...
- WKWebView与Js (OC版)
OC如何给JS注入对象及JS如何给IOS发送数据 JS调用alert.confirm.prompt时,不采用JS原生提示,而是使用iOS原生来实现 如何监听web内容加载进度.是否加载完成 如何处理去 ...
- Add sharing to your app via UIActivityViewController
http://www.codingexplorer.com/add-sharing-to-your-app-via-uiactivityviewcontroller/ April 4, 2014 Ev ...
- Apache配置多域名 AH00548: NameVirtualHost has no effect and will be removed in the next release
httpd-vhosts.conf 中首行 NameVirtualHost *:80 删除掉即可解决.
- 360极速浏览器UA怪异以及如何用js判断360浏览器
本文最后一次更新于7个月前,文章内容可能略有出入.若发现文章中有错误之处,可以留言评论告诉作者. 1.360极速浏览器UA因域名不同而异 今天在写一个判断浏览器.浏览器版本.操作系统.操作系统版本.浏 ...
- App开发的过程
直播App开发的过程 第一步:分解直播App的功能,我们以X客为例 视频直播功能,这是一款直播App最主要的功能,要能支持视频直播RTMP推流,使画面传输流畅.清晰(美颜后的清晰,你懂的聊天功能,用户 ...
- Git平台使用时的配置分析
Git仓库的配制文件分为三个部分: 1. .git/config:指定仓库配置(特定于某个仓库),获取或设置时使用--file参数(或者省去). 2. ~/.gitconfig:用户级别仓库配置(适用 ...
- 非官方windows下Cpython二进制扩展包下载地址
Unofficial Windows Binaries for Python Extension Packages url:http://www.lfd.uci.edu/~gohlke/pythonl ...