Java面向对象的程序设计综合题求大神解答

Java面向对象的程序设计综合题求大神解答,第1张

public class Test {

static int gmCount = 0;

static int gtCount = 0;

static int tmCount = 0;

static int ttCount = 0;

static int exit = 1;

static int type = 0;

static int ticketType = 0;

static int number = 0;

public static void main(String[] args) {

according();

while (exit!=0){

type = accordingIn("输入1个人、2团体");

if(type==2){

number = accordingIn("团体输入人数");

if(number == 0){

break;

}

}else if(type == 1) {

number = 1;

}

else {

break;

}

ticketType = accordingIn("输入1门票、2通票");

if(ticketType==0){

break;

}

sellTicket(type,ticketType,number);

}

Systemoutprintln("今日个人门票出售"+gmCount+"张,共计:"+gmCount80+"元,团体门票出售"+tmCount+"张,共计"+tmCount60+"元");

Systemoutprintln("今日个人通票出售"+gtCount+"张,共计:"+gtCount100+"元,团体通票出售"+ttCount+"张,共计"+ttCount80+"元");

}

static void according(){

Systemoutprintln("---------------------");

Systemoutprintln("------电子售票系统-----");

Systemoutprintln("----------------------");

Systemoutprintln("--------个人-----团体--");

Systemoutprintln("--门票---80-------60---");

Systemoutprintln("--通票---100------80---");

Systemoutprintln("----------------------");

Systemoutprintln("输入0退出系统");

}

static int accordingIn(String message){

Scanner scanner = new Scanner(Systemin);

Systemoutprint(message + ":");

return scannernextInt();

}

static void sellTicket(int type,int ticketType,int number){

//个人门票

if(type==1&&ticketType==1){

gmCount =+ number;

}

//个人通票

if(type==1&&ticketType==2){

gtCount =+ number;

}

//团体门票

if(type==2&&ticketType==1){

tmCount =+ number;

}

//团体通票

if(type==2&&ticketType==2){

ttCount =+ number;

}

}

}

要不就去百度文库哪里找找,你看看

>

程序写完了

/////////////////////////////////////////////////

public abstract class Person {

public String name;

public int age;

public String sex;

public Person(){

}

public abstract void eat();

/

@return Returns the age

/

public int getAge() {

return age;

}

/

@param age The age to set

/

public void setAge(int age) {

thisage = age;

}

/

@return Returns the name

/

public String getName() {

return name;

}

/

@param name The name to set

/

public void setName(String name) {

thisname = name;

}

/

@return Returns the sex

/

public String getSex() {

return sex;

}

/

@param sex The sex to set

/

public void setSex(String sex) {

thissex = sex;

}

}

/////////////////////////////////////////

/

因为学生也是人,所以要继承人的抽象类

/

public abstract class Student extends Person{

public abstract void study();

}

//////////////////////////////////////

public interface Graduate {

void graduateStudyMethod();

}

/////////////////////////////////////

public class Graduatestudent extends Student implements Graduate{

@Override

public void study() {

Systemoutprintln(getName()+"学生的学习方法");

}

@Override

public void eat() {

Systemoutprintln(getName()+"研究生需要吃饭");

}

public void graduateStudyMethod() {

Systemoutprintln(getName()+"研究生有学习的方法");

}

}

/////////////////////////////////////////

/

因为老师也是人,所以要继承人的抽象类

/

public abstract class Teacher extends Person{

public abstract void work();

}

//////////////////////////////////////////////

/

老师研究生

/

public class TeacherGraduate extends Teacher implements Graduate{

@Override

public void work() {

Systemoutprintln(getName()+"老师需要工作");

}

@Override

public void eat() {

Systemoutprintln(getName()+"老师需要吃饭");

}

public void graduateStudyMethod() {

Systemoutprintln(getName()+"老师研究生的学习方法");

}

}

/////////////////////////////////////

简单的测试类

public class Test {

public static void main(String[] args) {

Graduatestudent student = new Graduatestudent();

studentsetName("wangwenjun");

studentsetAge(24);

studentsetSex("男");

studenteat();

studentgraduateStudyMethod();

studentstudy();

TeacherGraduate teacherGraduate = new TeacherGraduate();

teacherGraduatesetName("liuna");

teacherGraduatesetAge(25);

teacherGraduatesetSex("女");

teacherGraduateeat();

teacherGraduategraduateStudyMethod();

teacherGraduatework();

}

}

/////////////////////////////

最终的输出结果

wangwenjun研究生需要吃饭

wangwenjun研究生有学习的方法

wangwenjun学生的学习方法

liuna老师需要吃饭

liuna老师研究生的学习方法

liuna老师需要工作

这个事加载顺序的问题

在解释之前,你得先明确这么几条概念

  1构造子类时会先构造父类;而构造父类时,其所用的静态成员和非静态属性是父类的,但非静态方法却是子类的

2加载父类时如果遇到重写的成员,则把重写的类型赋值给当前类型

3加载非静态成员先递归地加载父类的非静态成员在轮到子类

我解释下你这个例子:

程序入口地址main调用构造器,构造Boo

这时候要加载Boo的构造器,构造子类时会先构造父类(如果子类没显示构造器)。

Aoo调用无参的时候发现里面有个方法,在子类被重写了,调用子类方法。

子类方法,发现用到了父类的属性(子类没重写),这个时候由于还在加载父类,所以子类属性值还在初始化状态。集b=0

所以 a=2,b=0

这有点绕,如果还不懂,建议你去查查类加载的顺序。

首先你要了解,JAVA是什么软件,有什么用?

答:它是个面向网络的程序设计语言,用来让程序员创建应用程序,这些应用程序可以通过网络下载,而且可在任何计算平台上安全地运行。Java作为一个分布式的,面向对象的程序设计语言,可以让位于任何地方的任何计算机应用网络上的应用程序。

其实每次遇到不会的都来求助是很不方便的

如果你想了解和免费学习更多的JAVA编程,成为一名真正的JAVA高手,你可以来这个qun,前面三个数是四二六 中间是三九六 后面是二八四

把这串数字连起来就可以了,这是一个高手的学习qun,在这里你可以学习到书上学不到的知识,还有大牛相互讨论并指导你解答,免费学习资料共享在qun文件里。

同C++一样, Java是个面向对象的语言,这就意味着软件可以以部件的形式编制,为了满足某种任务,软部件可以互相配合。

Java适宜于互联网的开发应用,其中一个原因是它使用了虚拟机,虚拟机是个用来解释Java指令的软件包,Java的虚拟机策略就相当于世界语,这是个人造的国际语言,目的是使得不同语言之间的翻译和沟通更加容易。

以上就是关于Java面向对象的程序设计综合题求大神解答全部的内容,包括:Java面向对象的程序设计综合题求大神解答、求Java面向对象程序设计(第2版)清华大学出版社课后习题答案、JAVA程序设计题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9690067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存