Java第九次作业

本文展示了Java编程中方法重载的概念,通过一个`多功能参数`类的示例解释了如何使用不同参数调用同一方法实现不同功能。同时,介绍了接口的使用,通过`student`和`teacher`接口以及`模拟上课场景`类,展示了如何实现接口方法并模拟上课过程。此外,还展示了多重接口实现,`儿子喜欢做的事`类实现了`Father`和`Mother`接口,表现出儿子可以同时做父亲和母亲喜欢的事情。
摘要由CSDN通过智能技术生成

一、多功能参数(方法的重载)

代码

public class 多功能参数 {	//创建多功能参数主类
	static final  double PI=3.141592653589793;//定义final  double值
		public static double add(double a,double b){ //方法名,返回参数,返回值
			return(a*b);//输出a*b的值
			}
		public static double add(double r){//普通表达式
			return(r*r*PI);//输出圆的面积
		}
		public static void main(String[] args) {//主方法
			System.out.println(PI);//输出PI
			System.out.println(add(4.0000001));//输出结果
			System.out.println(add(3.0,4.0));//输出结果
	}
}

结果 

二、模拟上课场景(接口与实现)

代码 

public interface student {
	 
			void answer();// 回答的方法
			void note();// 笔记的方法
}


public interface teacher {
	
		void greeting();// 问候的方法
		void attend();// 上课的方法
}

package zuoye;

public class 模拟上课场景 implements teacher, student {//创建模拟上课场景主类
//继承IFather接口和IMather接口
	@Override
	public void answer() {// 重写answer()方法
		System.out.println("老师好");//输出老师好
		}
	@Override
	public void note() {// 重写note()方法
		System.out.println("同学开始记笔记");//输出同学开始记笔记
		}
	@Override
	public void greeting() {// 重写greeting()方法
		System.out.println("同学们好");//输出同学们好
		}
	@Override
	public void attend() {// 重写attend()方法
		System.out.println("老师开始上课");//输出老师开始上课
		}
	public static void main(String[] args) {//主函数
		student peter = new 模拟上课场景();//创建新的对象
		System.out.print("peter:");//输出peter:
		peter.answer();//输出peter.answer方法
		teacher mike = new 模拟上课场景();//创建新的对象
		System.out.print("mike:");//输出mike:
		mike.greeting();//输出mike.greeting方法
		System.out.print("mike:");//输出mike:
		mike.attend();//输出mike.attend方法
		System.out.print("peter:");//输出peter:
		peter.note();//输出peter.note方法
	}
}	

结果 

三、儿子喜欢做的事(接口与实现 多实现)

代码

public interface Mother {
	
		void watcTV();
		void cookin();
	}

public interface Father {
	
		void smokin();// 抽烟的方法
		void goFishin();// 钓鱼的方法
	}

package zuoye;

public class 儿子喜欢做的事 implements Father, Mother{//继承Father和 Mother接口
	@Override
	public void watcTV() {// 重写watcTV()方法
		System.out.println("看电视");//输出看电视
		}
		 
	@Override
	public void cookin() {// 重写cookin()方法
		System.out.println("做饭");//输出做饭
		}
		 
	@Override
	public void smokin() {// 重写smokin()方法
		System.out.println("抽烟");//输出抽烟
		}
		 
	@Override
	public void goFishin() {// 重写goFishin()方法
		System.out.println("钓鱼");//输出钓鱼
		}
	public static void main(String[] args) {//主函数
		Mother son = new 儿子喜欢做的事();// 通过子类创建Father接口对象
		System.out.println("儿子喜欢做的事有:");//输出儿子喜欢做的事有:
		son.watcTV();//输出son.watcTV()方法
		son.cookin();//输出son.cookin()方法
		Father mathe = new 儿子喜欢做的事();// 通过子类创建Mather接口对象
		mathe.smokin();//输出mathe.smokin()方法
		mathe.goFishin();//输出mathe.goFishin()方法
			}
	}

结果 

 

编写一个Java项目,模拟一次包括老师备课,同学上课,布置作业和做作业的课堂教学过程。作业为判断字符串是否为2-重复串及其他字符串操作内容 1. 创建Java项目JavaTeaching2012 2. 创建包cn.qtech.util,在其中新建类RepeatedStringEstimator,该类有两个方法:(1)public boolean estimate(String s),用于判断字符串s是不是2-重复串(字符串中每个出现的字符出现2次且仅两次),如判断aaaa不是,abddab是,acbcab是。(2)public void stringOperate(),其中调用适当的字符串操作完成(a)判断两个字符传”abc”和”acb”是否相同,(b)输出"c:\\java\\jsp\\A.java"中第二次出现"\\j"的位置,并输出该位置起到串末的子串 3. 创建包cn.qtech.teaching,在其中新建抽象类UniversityPeople,包含一个抽象方法void doDuty(TeachingMessage msg),表示某人完成自己的任务。 4. 在包cn.qtech.teaching中创建枚举类型TeachingState,其中包括常量BEIKE, TINGKE, BUZHIZUOYE, ZUOZUOYE,分别表示备课,听课,布置作业,做作业 5. 在包cn.qtech.teaching中创建Student类继承自UniversityPeople,该类有成员变量name及name的getter/setter方法。实现的doDuty(TeachingMessage msg)方法中如果判断msg的状态为BEIKE,则修改msg状态为TINGKE并输出:"老师"+msg中老师对象名+"备完课后,去听课!";如果判断msg的状态为BUZHIZUOYE,则修改msg状态为ZUOZUOYE并输出:"老师"+msg中老师对象名+"布置完课作业后,开始做作业!",然后调用RepeatedStringEstimator中的两个方法输出作业结果 6. 在包cn.qtech.teaching中创建Teacher类继承自UniversityPeople,该类有成员变量name及name的getter/setter方法。实现的doDuty(TeachingMessage msg)方法中如果判断msg的状态为TINGKE,则修改msg状态为BUZHIZUOYE并从msg中获得并输出听课学生名单,然后输出
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值