【声明】本博客内容,若有侵权请告之,会删除 非商业用途,如有侵权,请告知我,我会删除
如回复不及时,或不懂的请加我微信 island68 QQ823173334 可以的话注明来自CSDN
很希望通过CSDN这个平台与大家交流
《 Java语言程序设计 》
1 什么是多态性? 方法的重载和覆盖有何区别? 阅读下列代码,指出其中存在的重载和覆盖, 写出输出结果是什么?解释为什么这样输出?
class C1
{
public void f() {
System.out.println("C1.f");
}
}
class C2 extends C1
{
public void f() {
System.out.println("C2.f");
}
}
class C3 {
public void g(C1 one) {
System.out.println("g(C1)");
one.f();
}
public void g(C2 two) {
System.out.println("g(C2)");
two.f();
}
}
public class Main1
{
public static void main(String[] args) {
C1 one = new C2();
C3 three = new C3();
three.g(one);
}
}
答:
多态性是指允许不同类的对象对同一消息作出响应,多态性包括参数化多态性和包含多态性,多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
Class1和class2 中都有的find方法,其中class2就是继承了class1的find方法就是覆盖
而class3有两个get方法因为入参不一样就是重载
get(Class1)
Class2.find
One 是class1对象所以输出 public void get(Class1 one)
因为class2覆盖了class1 所以输出class2 find 函数
2、请用自己的语言介绍throw/throws有什么联系和区别?在程序中应如何使用?另外谈谈final、finally的区别和作用,必须举例说明用法。
答:
1、throw是在代码块内的,即在捕获方法内的异常并抛出时用的;
2、throws是针对方法的,即将方法的异常信息抛出去
3、编写一个描述学生基本情况的类,属性包括姓名,学号,语文成绩,数学成绩和英语成绩,方法包括信息输出,设置姓名和学号,设置三门课程成绩,计算总成绩和平均成绩。在main方法中对方法进行测试
答:
本题使用java 的get set方法,构造方法就能做出
4、Java中实现多线程有几种方式?这几种方式有什么区别?然后采取其中一种方式设计一个线程例子,在例子中构造4个线程对象实现对同一数据类对象进行操作(数据初始值为0),其中线程对象1对数据执行+10的操作,线程对象2对数据执行+20的操作, 对象3对数据执行乘以3的操作,线程对象4对数据执行除以4的操作,,要求考虑线程同步,保证数据操作的正确性。
1、编写一个图形用户界面程序,包含两个按钮,一个信息标签(label)和一个显示面板,两个按钮分别为“掷色子”和“移动”,在显示面板中显示一个小人(用小圆以及线绘制),随机设定小人的初始位置,当点击“掷色子”按钮,随机产生移动信息(上移,下移,左移,右移,移动几步),并显示在信息标签中,点击移动,按照产生的移动信息,让小人进行移动。要求提供完整程序代码以及运行结果截图
2、编写一个班级推优(优秀学生干部)投票管理程序。列出参与推优的学生名单(6名),可以勾选进行投票,要求每个参选学生前面有图标表示候选人的职务,每人可以投3票,每次投票后能够显示当前投票人数以及每名候选者得票数,图形化柱状图显示得票数,可以保存投票结果到文本文件。
1 什么是多态性? 方法的重载和覆盖有何区别? 阅读下列代码,指出其中存在的重载和覆盖, 写出输出结果是什么?解释为什么这样输出?
class Class1
{
public void find() {
System.out.println("Class1.find");
}
}
class Class2 extends Class1
{
public void find() {
System.out.println("Class2.find");
}
}
class Class3 {
public void get(Class1 one) {
System.out.println("get(Class1)");
one.find();
}
public void get(Class2 two) {
System.out.println("get(Class2)");
two.find();
}
}
public class Test1
{
public static void main(String[] args)
{
Class1 one = new Class2();
Class3 three = new Class3();
three.get(one);
}
}
2、请说说final、finally的区别和作用,举例说明用法;另外用自己的语言介绍throw/throws有什么联系和区别?在程序中应如何使用?
3、编写一个描述老师基本情况的类,属性包括姓名,教工号,基本工资,岗位工资和绩效工资,方法包括信息输出,设置姓名和教工号,设置三种工资金额,计算总工资(三种工资加起来)和税后工资(按如下方式计算,3000以内不收税,3000-5000之间的部分扣10%,大于5000的部分扣15%)。在main方法中对方法进行测试
4、Java中实现多线程有几种方式?这几种方式有什么区别?然后采取其中一种方式设计一个线程例子,在例子中构造4个线程对象实现对同一数据类对象进行操作(数据初始值为10),其中线程对象1对数据执行乘以10的操作,线程对象2对数据执行乘以20的操作, 对象3对数据执行+30的操作,线程对象4对数据执行+40的操作,要求考虑线程同步,保证每一步数据操作的正确性。要求提供程序代码以及运行结果截图
1、编写一个图形用户界面程序,包含两个按钮,一个信息标签(label)和一个显示面板,两个按钮分别为“掷色子”和“移动”,在显示面板中显示一个小汽车(用小圆\矩形以及线绘制),随机设定小汽车的初始位置,当点击“掷色子”按钮,随机产生移动信息(上移,下移,左移,右移,移动几步),并显示在信息标签中,点击移动,按照产生的移动信息,让小汽车进行移动。
2、编写一个班级推优(三好生)投票管理程序。列出参与推优的学生名单(8名),可以勾选进行投票,要求每个参选学生前面有图标表示候选人的性别,每人可以投4名候选人,每次投票后能够显示当前投票人数以及每名候选者得票数,图形化柱状图显示得票数,可以保存投票结果到文本文件。