尚学堂Java第五章所有题目

发布时间:2021-12-05 06:45:29



尚学堂Java第五章所有题目
一、选择题二、简答题三、编码题编码题一编码题二编码题三







这次的作业有一部分理解的可能不是很透彻,可能不是最优的方法,希望师傅们能给刚入门的我一点建议!


一、选择题

1.B 2.A 3.D 4.AB 5.AC


1.使用权限修饰符( )修饰的类的成员变量和成员方法,可以被当前包中所有类访问,也可以被它的子类(同一个包以及不同包中的子类)访问。(选择一项)B


Apublic
B.protected
C.默认
D.private


2.以下关于继承条件下构造方法执行过程的代码的执行结果是( )。(选择一项)A


class Person {
public Person() {
System.out.println("execute Person()");
}
}
class Student extends Person {
public Student() {
System.out.println("execute Student() ");
}
}
class PostGraduate extends Student {
public PostGraduate() {
System.out.println("execute PostGraduate()");
}
}
public class TestInherit {
public static void main(String[] args) {
new PostGraduate();
}
}
A.execute Person()
execute Student()
execute PostGraduate()

B.execute PostGraduate()

C.execute PostGraduate()
execute Student()
execute Person()

D.没有结果输出

3.编译运行如下Java代码,输出结果是( )。(选择一项)D


class Base {
public void method(){
System.out.print ("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print ("Child methodB");
}
}
class Sample {
public static void main(String[] args) {
Base base= new Child();
base.methodB();
}
}

A.Base method

B.Child methodB

C.hild methodB

D.编译错误

4.在Java中关于abstract关键字,以下说法正确的是( )。AB


A.abstract类中可以没有抽象方法


B.abstract类的子类也可以是抽象类


C.abstract方法可以有方法体


D.abstract类可以创建对象


5.在Java接口中,下列选项中属于有效的方法声明是( )。(选择二项)AC


A.public void aMethod( );


B.final void aMethod( );


C.void aMethod();


D.private void aMethod( );


二、简答题
    private、默认、protected、public四个权限修饰符的作用。

Private是私有,只能被自己的类访问。
默认是可以省略default的,同一个包中的类才能访问。
Protected是受保护的,只有同一个包的类或者不同包的子类才能访问。
Public是公共的,项目中的所有的包里面的类都能访问。

    继承条件下子类构造方法的执行过程。

继承条件下,子类的构造方法的执行过程第一句是super(),无论是否有写,
首先都会调用父类的方法,直到Object类,从object类开始从上到下执行。

    什么是向上转型和向下转型。

向上转型是默认的,因为父类拥有的子类都拥有,
向下转型需要强制转换,上转型后,编译器无法识别子类的属性或方法,所以需要向下转型,转型后才能调用子类的属性与方法。

    final和abstract关键字的作用。

finali用来修饰变量,会把变量变为常量,无法再被修改。
用来修饰方法,这个方法无法被重写,但可以重载。
用来修饰类,这个类无法被继承

abstract是抽象,修饰方法时,方法只有声明,不能有方法体,子类必须实现抽象方法。
修饰的类无法使用new来实例化,只能通过子类调用
(PS:如果抽象类中含有非抽象的方法,需要调用的话,需要new子类的对象,通过子类来调用父类中的非抽象方法!)

    ==和equals()的联系和区别。

==与equals都是用来判断两者是否相等。
但判断引用类型时==是以地址是否相等为判断依据,
而equals是以hashcode为判断依据。
(PS:所以判断引用类型时尽量用equals喔!)

三、编码题
编码题一

题目:编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。
实现思路及关键代码:
1) 编写一个圆类Circle,该类拥有:
a) 一个成员变量,radius(私有,浮点型);//存放圆的半径
b) 两个构造方法(无参、有参);
c) 三个成员方法
double getArea() //获取圆的面积
double getPerimeter() //获取圆的周长
void show() //将圆的关径、周长、面积输出到屏幕
2) 编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有:
a) 一个成员变量,double hight (私有,浮点型); //圆柱体的高;
b) 构造方法
c) 成员方法
double getVolume() //获取圆柱体的体积
void showVolume() //将圆柱体的体积输出到屏幕

这题实际可以基于上一章的计算圆的周长与面积,再计算圆柱体的体积。使用了交互的方式,也实现了题目的要求。


package dylan.linger.oop;

import java.util.Scanner;
/**
* @author Linger
* 计算圆面积、周长‘圆柱体的体积。
*/

public class CalculateCircle {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);

System.out.print("请输入要计算的圆柱体的半径:");
double radius = scanner.nextDouble();

System.out.print("请输入要计算的圆柱体的高:");
double hight = scanner.nextDouble();

Circle cylinder = new Cylinder(radius,hight);
cylinder.show();
Cylinder circle = (Cylinder)cylinder; //强制转换成子类
circle.showVolume(); //调用子类的方法
}
}

class Circle {
private double radius; //圆的半径

Circle(){
}

Circle(double radius) {
this.radius = radius;
}

double getArea() { //计算圆的面积的方法
return Math.PI * Math.pow(radius,2.0);
}

double getPerimeter() { //计算圆的周长的方法
return 2 * Math.PI * radius;
}

void show() { //用来输出半径、周长以及面积的方法。
System.out.println("圆的半径为:" + radius);
System.out.println("半径为:" + radius + "的圆周长是:" + getPerimeter());
System.out.println("半径为:" + radius + "的圆面积是:" + getArea());
}
}

class Cylinder extends Circle {
private double hight; //圆柱体的高

Cylinder(double radius, double hight) {
super(radius);
this.hight = hight;
}

double getVolume() { //计算圆柱体体积的方法
return getArea() * hight;
}

void showVolume() { //输出圆柱体面积的方法
System.out.println("圆柱体的高是:" + hight);
System.out.println("圆柱体面积是:" + getVolume());
}
}

结果是这样的:

(本来是想只显示小数点后3位的,应该是使用%3f,听说是C语言里面常用的,但没有找到相关的,有大佬会的可以提点一下下呀!)


编码题二

题目:编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
实现思路及关键代码:
1) 定义乐器类Instrument,包括方法makeSound();
2) 定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin;
3) 定义乐手类Musician,可以弹奏各种乐器play(Instrument i);
4) 定义测试类,给乐手不同的乐器让他弹奏。

这一题说实话有点小纠结,做完之后看了其他同学的思路,发现都有不同的地方,再修改后是现在我能做到的极限水*了,真诚的望指点!


package dylan.linger.oop;

/**
* @author Linger
* 听乐手演奏乐器。
*/

import java.util.Scanner;

public class PlayInstruments {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("请输入乐手的姓名:");
String name = scanner.nextLine();
System.out.println("----1=>二胡---2=>钢琴---3=>小提琴----");
System.out.print("请输入想听的乐器(1/2/3):");
int instrument = scanner.nextInt();
if(instrument==1){
Instrument a = new Erhu();
new Musician(name,a);
}
else if(instrument==2) {
Instrument a = new Piano();
new Musician(name,a);
}
else if(instrument==3) {
Instrument a = new Violin();
new Musician(name,a);
}else{
System.out.println("对不起,乐手暂时不会弹奏其他乐器喔!");
}
}
}

abstract class Instrument { //抽象类,父类
abstract void makeSound();
}

class Erhu extends Instrument { //二胡
void makeSound() {
System.out.println("正在演奏二胡歌曲!");
}
}
class Piano extends Instrument { //钢琴
void makeSound() {
System.out.println("正在演奏钢琴歌曲!");
}
}
class Violin extends Instrument { //小提琴
void makeSound() {
System.out.println("正在演奏小提琴歌曲!");
}
}

class Musician { //乐手
Musician(String name,Instrument i) {
System.out.print(name);
i.makeSound();
}
}

运行结果是这样:

想要写循环方便校验的,但是昨晚太晚了,我暂时思路也没那么灵活,所以就没有加上了。


编码题三

题目:编写程序描述影视歌三栖艺人。需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三?艺人。
实现思路:
1) 分析影视歌三栖艺人的特性:可以演电影,可以演电视剧,可以唱歌
2) 定义多个接口描述特性
a) 演电影的接口-----方法:演电影
b) 演电视剧的接口-----方法:演电视剧
c) 唱歌的接口-----方法:唱歌
3) 定义艺人类实现多个接口

这题我不确定是否可以这么写,也想在调用接口中加判断实现多种结果的。但对于现在的答案也有些困惑,不确定在main函数中调用方法,还是在Star类中的show方法调用,求指点!!!


package dylan.linger.oop;

/**
* @author Linger
* 分析三栖艺人
*/

import java.util.Scanner;

public class StarShow {
public static void main(String[] args){
Scanner scanner = new Scanner(System.in);
System.out.print("艺人的名字是:");
String name = scanner.nextLine();
Star star = new Star();
star.show(name);
}
}

interface Film { //电影接口
void showFilm();
}
interface Teleplay { //电视剧接口
void showTeleplay();
}
interface Sing { //歌手接口
void showSing();
}

class Star implements Film,Teleplay,Sing { //艺人类调用接口

void show (String name) {
System.out.println("大家好,我是" + name);
showFilm();
showTeleplay();
showSing();
}
public void showFilm() {
System.out.println("我能演电影!");
}
public void showTeleplay() {
System.out.println("我能演电视剧!!");
}
public void showSing() {
System.out.println("我还会唱歌!!!");
}
}

运行后:

本想昨晚便做完的,但由于实在是困就睡觉去了,昨晚有些想法今天起来就忘记了,有没有些好的建议呀!
(讲个笑话)听说程序员需要*惯通宵熬夜,可能我就是这个原因才这么弱的把,嘿嘿!


.
不变的是过去,可变的是未来,未来永远可期!


???? by Linger

相关文档

  • 后背长粉刺的原因是什么
  • 盘点各类降糖药优缺点,今后再不盲目降糖了
  • 团体程序设计天梯赛-练习集 L2 阶段全部题解
  • 哪个国家的名字最长
  • 老 师 的 那 次 鼓 励
  • 在疫情下初出茅庐的应届生
  • 买本子记满分作文共2篇
  • idea vue项目 环境配置
  • 世界睡眠日活动总结范文
  • 睫毛夹有什么用睫毛夹的正确用法
  • 以前行为话题的作文
  • 如何在Android上自定义Google窗口小部件
  • 司法协助的途径有哪些
  • mapReduce中shuffle的四个步骤
  • 食用油炸过几次不能用 炸过的油怎么变清
  • 商业企业的供应链管理模型
  • 学毕业班语文教学经验交流发言稿
  • 周大福鹿角项链多少钱周大福17916鹿角项链价格
  • 励志女生团队名字大全_励志女生团队的网名
  • 各专业的学生该如何写自我评价
  • CPU从内存中读取数据的过程
  • 期房房屋转让协议
  • 成功与选择有关优秀作文
  • Linux服务器出现:No space left on device的解决方法
  • 新课程下普通高中管理制度构建探究论文
  • 可循环使用的屏障CyclicBarrier
  • 任贤齐歌曲风云决推荐
  • 趣味运动会广播稿内容
  • 世界上最大的河流
  • 中秋节的诗歌_中秋节诗歌赏析:《中秋月》
  • 猜你喜欢

  • 高温油漆层测厚仪
  • 重庆大学学生会活动总流程
  • 我渴望有位好朋友
  • 精装修工程质量控制的重点难点分析与监理对策
  • 冷藏保存药物冰箱温度登记表
  • 高考英语一轮复* Module 6 Unexplained Mysteries of the Natural World单元综合测试 外研版必修4
  • 2017届高考化学一轮复*课件:第6章+第2讲+原电池+化学电源(全国通用)
  • 未来的学校 初中作文【350字】
  • 水泥混凝土路面施工安全专项方案
  • 《湖中别鉴上人》原文和翻译、《湖中别鉴上人》赏析与评价 唐代宋之问
  • 太湖原水净化过程中有机物分子量分布特性研究
  • 2019年人事行政主管自我评价
  • 新冠肺炎疫情防控期间做好应急物资保障组工作汇报
  • 学校安全隐患排查治理工作实施方案【可编辑版】
  • 乡镇计生协会工作计划范本【最新版】.doc
  • 四年级作文:小草生长记作文400字
  • 安踏kt5pro和kt5普通版区别 kt5pro配置怎么样
  • 2018-2019学年高中政治必修一课时规范训练:7.1按劳分配为主 多种分配方式并存 Word版含解析
  • 《苦恼 王蒙》阅读答案
  • 001-KT2_11_空调水系统管道和冷剂管道冲(吹)洗记录
  • 重大选修课部分好过的
  • 樱桃用日语怎么说
  • 人造硅灰石制成的特白粉在塑料、橡胶制品生产工艺中应用
  • 为之奈何句式
  • 我的网络创业经历
  • 合肥市沧源工程机械有限责任公司上饶分公司企业信用报告-天眼查
  • 北京欢迎你歌谱
  • 2019年春节见闻作文900字
  • 初二关于读书的话题作文三篇
  • 个人租房合同范本最新的[工作范文]
  • *陆县家家康放心粮油配送中心企业信用报告-天眼查
  • 中学生记叙文写作指导浅谈语文论文
  • 城中村改造项目高层住宅楼施工组织设计
  • 社会实践活动方案10篇完美版
  • 昆明应兴经济信息咨询有限公司企业信用报告-天眼查
  • 金融学第六讲风险管理
  • 高三读书手抄报整洁又唯美
  • 四年级上册语文习题课件-10 幸福是什么_人教新课标
  • 最新好听的经典歌曲推荐
  • (排序算法五)快速排序
  • 烘焙原料及烘焙工具选购
  • 交通银行外汇商品房抵押贷款合同-会计学堂
  • 电脑版