Java面向对象习题
JAVA面向对象程序设计练习题目题目
public class B{ public static void main(String[] args){ } } (A)只有 B.class 文件 (B)只有 A1.class 和 A2.class 文件 (C)编译不成功 (D)A1.class、A2.class 和 B.class 文件 11.下列( )是合法的标识符? (A)12class (B)void (C)-5 (D)_blank 12.下列( )不是 Java 中的保留字? (A)if (B)sizeof (C)private (D)null 13.下列( )不是合法的标识符? (A)$million (B)$_million (C)2$_million (D)$2_million 14.下列选项中, ( )不属于 Java 语言的基本数据类型? (A)整数型 (B)数组 (C)浮点型 (D)字符型 15.下列关于基本数据类型的说法中,不正确的一项是( ) 。 (A)boolean 类型变量的值只能取真或假 (B)float 是带符号的 32 位浮点数 (C)double 是带符号的 64 位浮点数 (D)char 是 8 位 Unicode 字符 16.下列关于基本数据类型的取值范围的描述中,正确的一个是( ) 。 (A)byte 类型的取值范围是-128~128 (B)boolean 类型的取值范围是真或假 (C)char 类型的取值范围是 0~65536 ( D ) short 类 型 的 取 值 范 围 是 -32767 ~ 32767 17.下列关于 Java 语言简单数据类型的说法中,正确的一项是( ) 。 (A)以 0 开头的整数代表 8 进制整型常量 (B)以 0x 或 0X 开头的整数代表 8 进制整型常量 (C)boolean 类型的数据作为类成员变量的时候,相同默认的初始值为 true (D)double 类型的数据占计算机存储的 32 位 18.下列 Java 语句中,不正确的一项是( ) 。 (A)int e, a, b = 10; (B)char c, d = ‘a’; (C)float e = 0.0d; (D)double c = 0.0f; 19.在编写 Java 程序时,如果不为类的成员变量定义初始值,Java 会给出它们的默认值, 下列说法中不正确的一个是( ) 。 (A)byte 的默认值是 0 (B)boolean 的默认值是 false (C)char 类型的默认值是’\0’ (D)long 类型的默认值是 0.0L 20.下列语句中不正确的一个是( ) 。 (A)float f = 1.1f; (B)byte b = 128; (C)double d = 1.1/0.0; (D)char c = (char)1.1f; 21.下列表达式 1+2+ "aa"+3 的值是( ) 。 (A)"12aa3" (B)"3aa3 " (C)"12aa" (D)"aa3" 22.已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为( ) 。 (A)3 (B)-1 (C)-12 (D)-3 33.已知 a=2, b=3,则表达式 a%b*4%b 的值为( ) 。 (A)2 (B)1 (C)-1 (D)-2
面向对象测试题及答案
面向对象测试题及答案一、选择题(每题2分,共20分)1. 面向对象编程(OOP)的核心概念不包括以下哪一项?A. 类B. 继承C. 多态D. 过程2. 在Java中,以下哪个关键字用于定义类?A. classB. typeC. structD. interface3. 下列哪个选项不是Java中访问控制的关键字?A. publicB. privateC. protectedD. global4. 封装是面向对象编程的一个重要特性,它主要指的是:A. 将数据和操作数据的方法组合在一起B. 将所有数据都设为公开访问C. 只允许通过特定的方法访问数据D. 将数据和方法分离5. 在Java中,以下哪个不是构造方法的特点?A. 与类名相同B. 没有返回类型C. 可以重载D. 可以被继承6. 继承在面向对象编程中允许:A. 一个类只能继承一个类B. 一个类可以继承多个类C. 一个类可以继承多个接口D. 一个类可以同时继承多个类和接口7. 接口在Java中的主要作用是:A. 定义类B. 实现多继承C. 定义方法的实现D. 定义方法的签名8. 以下哪个是Java中实现多态的方式?A. 继承B. 接口C. 重载D. 重写9. 抽象类在Java中不能:A. 被实例化B. 包含抽象方法C. 包含具体方法D. 被继承10. 下列哪个不是Java集合框架中接口?A. ListB. SetC. MapD. Array二、简答题(每题5分,共30分)1. 简述面向对象编程的三大特性。
2. 解释什么是多态,并给出一个Java中多态的例子。
3. 什么是封装?封装在Java中是如何实现的?4. 什么是接口?接口和抽象类有什么区别?5. 什么是构造方法?构造方法的作用是什么?6. 什么是继承?继承在Java中是如何实现的?三、编程题(每题25分,共50分)1. 编写一个Java程序,定义一个名为`Car`的类,包含以下属性和方法:- 属性:品牌(String类型),颜色(String类型),速度(int 类型)- 方法:启动汽车(startCar),加速(accelerate),减速(decelerate)2. 在上述`Car`类的基础上,创建一个名为`ElectricCar`的子类,继承`Car`类,并添加一个额外的属性:电池电量(int类型),并重写`startCar`方法以显示电动汽车启动的信息。
java面向对象练习题
java面向对象练习题# Java面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。
2. 描述Java中接口和抽象类的区别。
3. 什么是Java中的继承?请举例说明如何使用继承。
三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。
为每个属性提供getter和setter方法。
2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。
为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。
3. 创建一个接口`Movable`,包含一个方法`move()`。
然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。
四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。
Java面向对象练习题
Java⾯向对象练习题1.猜数字游戏:⼀个类A有两个成员变量v、num,v有⼀个初值100。
定义⼀个⽅法guess,对A类的成员变量v,⽤num进⾏猜。
如果⼤了则提⽰⼤了,⼩了则提⽰⼩了。
等于则提⽰猜测成功。
在main⽅法中测试package hello.guess;public class Guess {// 创建属性private int a = 100;public static void main(String[] args) {int num;Guess g = new Guess();num = 101;g.game(num);num = 99;g.game(num);num = 100;g.game(num);}// 构造⽅法public void guess() {System.out.println("创建对象。
");}//书写⽅法public void game(int num) {if (num < a) {System.out.println("猜的有点⼩了,⼩了多少不知道呢!!!");System.out.println(num);} else if (num > a) {System.out.println("猜的有点⼤了,⼤了多少不知道呢!!!");System.out.println(num);} else {System.out.println("猜对了");System.out.println(num);}}}运⾏结果:2.计算圆的⾯积和周长:创建⼀个圆Circle类。
为该类提供⼀个变量r表⽰半径,⼀个常量PI表⽰圆周率;同时为该类提供两个⽅法:⽅法⼀⽤于求圆的⾯积,⽅法⼆⽤于求圆的周长;为该类提供⼀个⽆参的构造⽅法,⽤于初始化r的值为4。
在main⽅法中测试。
package hello.circle;/*** 2.创建⼀个圆Circle类。
java面向对象编程练习题及答案
java面向对象编程练习题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?A. structB. classC. interfaceD. enum2. Java中的继承是:A. 多重继承B. 单一继承C. 无继承D. 可选继承3. 以下哪个是Java中的访问修饰符?A. publicB. privateC. protectedD. 所有选项都是4. 以下哪个不是Java对象的三个基本特征?A. 封装B. 继承C. 多态D. 线程5. 以下哪个方法用于获取对象的内存地址?A. hashCode()B. equals()C. getClass()D. toString()二、简答题1. 解释Java中的封装是什么,并给出一个封装的例子。
2. 描述Java中的继承是如何工作的,并给出一个继承的例子。
3. 解释Java中的多态性,并给出一个多态性的例子。
三、编程题1. 创建一个名为`Car`的类,它具有以下属性:- 品牌(String)- 型号(String)- 年份(int)并为这些属性提供getter和setter方法。
2. 创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:- 电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3. 创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1. 阅读以下Java代码片段,并解释它的作用:```javapublic class Person {private String name;private int age;public Person(String name, int age) { = name;this.age = age;}public String getName() {return name;}public void setName(String name) { = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}```2. 阅读以下Java代码片段,并指出可能的错误:```javapublic class Animal {public void speak() {System.out.println("The animal makes a sound");}}public class Dog extends Animal {@Overridepublic void speak() {System.out.println("The dog barks");}}public class Cat extends Animal {@Overridepublic void speak() {System.out.println("The cat meows");}}public class TestAnimals {public static void main(String[] args) {Animal myDog = new Dog();Animal myCat = new Cat();myDog.speak();myCat.speak();}}```五、论述题1. 论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
面向对象练习题
面向对象练习题一、选择题1. 在面向对象编程中,以下哪个概念不是面向对象的核心概念?A. 封装B. 继承C. 多态D. 函数2. 以下哪个选项是Java语言中实现多态的方式?A. 通过继承B. 通过接口C. 通过重载D. 通过重写3. 在面向对象编程中,一个类可以有多少个父类?A. 0个或1个B. 1个C. 多个D. 无数个4. 以下哪个关键字在Java中用于定义一个类?A. structB. classC. interfaceD. enum5. 以下哪个是Java中创建对象的关键字?A. newB. createC. instanceD. object二、填空题6. 在面向对象编程中,______ 是指将数据和操作这些数据的方法结合在一起。
7. 一个类可以包含______ 和______ 两种成员。
8. 封装的目的是______ 数据,并对外部隐藏内部细节。
9. 继承可以使得子类获得父类的______ 和______。
10. 多态性允许不同类的对象对同一消息做出响应,但具体______ 取决于对象的实际类型。
三、简答题11. 简述面向对象编程的三大特性,并举例说明它们在实际编程中的应用。
12. 解释什么是接口,并说明接口与抽象类的区别。
13. 描述如何使用Java实现一个简单的类,并说明如何创建该类的实例。
四、编程题14. 编写一个Java类`Person`,包含属性`name`和`age`,以及一个方法`introduce()`,该方法输出个人信息。
15. 假设你已经有一个名为`Animal`的抽象类,它包含一个抽象方法`makeSound()`。
编写一个名为`Dog`的类,继承自`Animal`,并实现`makeSound()`方法,使得`Dog`对象调用该方法时输出"Woof!"。
16. 创建一个Java程序,包含一个名为`Vehicle`的类,它有一个属性`speed`和一个方法`increaseSpeed(int increment)`。
Java 面向对象编程练习题及答案
Java 面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:- 品牌(brand):字符串类型,表示洗衣机的品牌- 容量(capacity):整型,表示洗衣机的容量(以公斤为单位)- 是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:- 开机(turnOn):将洗衣机的状态设置为开机- 关机(turnOff):将洗衣机的状态设置为关机- 洗衣服(washClothes):接收一个整型参数 clothesWeight,表示待洗衣物的重量(以公斤为单位)。
如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。
答案一:```javapublic class WashingMachine {private String brand;private int capacity;private boolean isOn;public WashingMachine(String brand, int capacity) { this.brand = brand;this.capacity = capacity;this.isOn = false;}public void turnOn() {this.isOn = true;}public void turnOff() {this.isOn = false;}public void washClothes(int clothesWeight) {if (isOn && clothesWeight <= capacity) {System.out.println("洗衣机正在洗衣服");} else {System.out.println("洗衣机无法洗衣物");}}}```题目二:学生类设计描述:设计一个学生类,具有以下属性和方法:属性:- 姓名(name):字符串类型,表示学生的姓名- 年龄(age):整型,表示学生的年龄- 成绩(score):整型,表示学生的成绩方法:- 构造方法(Constructor):接收姓名、年龄和成绩作为参数,创建一个学生对象- 获取姓名(getName):返回学生的姓名- 获取年龄(getAge):返回学生的年龄- 获取成绩(getScore):返回学生的成绩答案二:```javapublic class Student {private String name;private int age;private int score;public Student(String name, int age, int score) { = name;this.age = age;this.score = score;}public String getName() {return name;}public int getAge() {return age;}public int getScore() {return score;}}```题目三:图书馆管理系统设计描述:设计一个图书馆管理系统,包含图书(Book)、图书馆(Library)和借阅者(Borrower)三个类。
java面向对象试题及答案
java面向对象试题及答案1. 试题一题目:什么是面向对象编程?请简要描述面向对象编程的优势和特点。
答案:面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,将程序中的数据和操作数据的方法进行了封装,使得程序更加模块化和易于理解。
面向对象编程的主要特点包括封装、继承和多态。
封装使得数据和对数据的操作集中在一个对象中,可以隐藏内部实现细节,提供公共的接口进行访问,增加了程序的安全性和灵活性。
继承允许新建的类继承已有类的属性和方法,通过扩展和重写已有类的功能,减少了代码的重复性,提高了代码的复用和可维护性。
多态允许不同的对象对相同的消息作出不同的响应,通过接口和抽象类的使用,实现了更加灵活和可扩展的程序设计。
面向对象编程的优势包括了代码的重用性、可维护性、可扩展性和灵活性。
通过封装和继承的应用,可以减少代码重复,提高开发效率,并且通过多态的应用,可以实现程序的灵活性,方便后续的扩展和修改。
2. 试题二题目:什么是类?请简要描述类的特点和组成部分。
答案:类是面向对象编程中的核心概念,是对一类具有相同属性和行为的对象进行抽象和封装的模板。
类是用来创建对象的蓝图,可以通过实例化类来创建对象。
类的特点包括了封装、继承和多态。
类通过封装将属性和方法进行了封装,提供了公共的接口与外部进行交互,隐藏了内部实现细节。
继承允许新建的类继承已有类的属性和方法,在原有基础上进行修改和扩展。
多态允许不同的对象对相同的消息作出不同的响应,实现了程序的灵活性和可扩展性。
类的组成部分包括了属性(Field)和方法(Method)。
属性(也称为成员变量)用于描述对象的状态,可以是基本类型或其他类的对象。
方法用于描述对象的行为,可以是处理属性的操作,也可以是其他业务逻辑的实现。
3. 试题三题目:请简要解释传值和传引用的区别,并用代码示例说明。
答案:传值和传引用是在方法调用时,参数传递的两种方式。
java面向对象考题和答案
1.下面代码的输出结果是A.300 300B.100 100C.300 100D.100 3002.程序执行的结果是:::x =" + x++; }}A.doStuff:x =7B. main: x = 7B.doStuff:x =7main: x = 6C.doStuff:x =6main: x = 7D.doStuff:x =6main: x = 63.下列关于JVM的内存结构描述正确的是:A.类的各种信息在方法区中保存B.堆用于存放程序运行过程当中所有的局部变量C.栈用于存储使用new关键字创建的对象D.数组属于JVM的内存结构4.下列代码的输出结果是:A.cB.iC.dD.s5.程序执行的结果是:A.nullB.TomC.JackD." "6.关于构造方法,下列说法错误的是:A.构造方法不可以进行方法重写B.构造方法用来实例化一个新的对象C.构造方法具有和类名相同的名称D.构造方法不返回任何数据类型7.关于 Java 中继承的特点,下列说法正确的是:A.使类的定义复杂化B.Java 只支持单继承,不可多继承,但可以通过实现接口来达到多继承的目的C.子类继承父类的所有成员变量和方法,包括父类的构造方法D.不可以多层继承,即一个类不可以继承另一个类的子类8.下列代码运行的结果是:A.Value: 3B.Value: 8C.Value: 13D.Value: 189.下列代码编译和运行的结果是:A.输出:0000B.输出:4321C.代码public EmployeeString id {行,出现编译错误D.抛出运行时异常10.下列代码的运行结果是:A.peepB.barkC.meowD.抛出运行时异常11.下列代码编译和运行的结果是:A.输出:TestAB.输出:TestBC.输出:TestA TestBD.编译错误12.请看下列代码:class One {void foo {}}class Two extends One {// insert method here}下列选项中的代码,放置在<插入代码>处无编译错误的是: A.int foo { / more code here / }B. protected void foo { / more code here / }C. public void foo { / more code here / }D. private void foo { / more code here / }13.下列选项中,不属于Java 的访问修饰符的是:A.privateB.protectedC.friendlyD.public14.下列代码的输出结果是:A.300-100-100-100-100B.300-300-100-100-100C.300-300-300-100-100D.300-300-300-300-10015.下列代码运行的结果是:public class Base { public static final String FOO = "foo";A.foofoofoofoofooB.foobarfoobarbarC.foobarfoofoofooD.foobarfoobarfoo16.关于下列代码说法正确的是:A.编译错误B.运行时抛出异常C.运行后,fa对象属性id的值没有改变,应然是42D.运行后,fa对象属性id的值改变成新的值6917.请看下列代码编译和运行的结果是:A.sun 2B.null 2C.null 1D.运行时抛出NullPointerException异常18.下列代码的输出结果是:A.0, 0,0B.150, 60, 0C.150, 150, 150D.抛出运行时异常19.请看下列代码:public abstract class Employee {protected abstract double getSalesAmount;public double getCommision {return getSalesAmount 0.15;estA {}}class Sales extends Employee {<插入代码>}在<插入代码>处填入的方法正确的是:A.double getSalesAmount { return 1230.45; }B.public double getSalesAmount { return 1230.45; }C.private double getSalesAmount { return 1230.45; }D.protected double getSalesAmount { return 1230.45; }20.关于下列代码说法正确的是:public interface A { public void doSomethingStringthing;}public class AImpl implements A { public void doSomethingString msg { }}public class B { public A doit { return null; } public String execute { return null; }}public class C extends B { public AImpl doit { return null; } public Object execute { return null; }} A. 所有类和接口都编译成功 B.类B编译失败C.类Aimpl编译失败D.类C编译失败21.关于下列代码说法正确的是:interface A { public void aMethod;}interface B { public void bMethod;}interface C extends A, B { public void cMethod;}class D implements B { public void bMethod {}}class E extends D implements C { public void aMethod {} public void bMethod {} public void cMethod {}}A.编译失败B.如果定义D e = new E;, 那么 e.bMethod;调用D类的bMethod方法C.如果定义D e = Dnew E;, 那么 e.bMethod;调用D类的bMethod方法D.如果定义D e = Dnew E;, 那么 e.bMethod;调用E类的bMethod方法22.请看下列代码:处理请求";}};}}如果上述代码采用回调模式编写,下列关于ServletAction的定义正确的是:A. public static class ServletAction { public void doService;}B.public final class ServletAction { public void doService;}C.public class ServletAction { public void doService;}D. public interface ServletAction { public void doService;}23.下列代码运行的结果是:A.HelloB. Hello WorldC. Hello World 5D.运行后无输出24.请看下列代码编译和运行的结果是:A.输出:testB.输出:nullC.代码行,编译出错D.代码public String toString {行,编译出错25.请看下列代码:关于上述代码说法正确的是:A.在第5行出现编译错误,fn方法的参数必须用final修饰B.在第3行出现编译错误,在方法的内部不能写类C.在第8行出现编译错误,在方法的内部不能实例化Inner类的对象D.运行代码,控制台输出100A1,正确答案:C2,正确答案:D3,正确答案:A4,正确答案:A5,正确答案:B6,正确答案:B7,正确答案:B8,正确答案:A9,正确答案:C10,正确答案:D11,正确答案:B 12,正确答案:BC 13,正确答案:C 14,正确答案:B 15,正确答案:D 16,正确答案:A 17,正确答案:D 18,正确答案:C 19,正确答案:BD 20,正确答案:D 21,正确答案:D 22,正确答案:D 23,正确答案:A 24,正确答案:A 25,正确答案:A。
Java面向对象测试试题
Java面向对象测试试题一、单选题1. 下面哪个关键字可以用来声明一个抽象类?A) abstractB) finalC) privateD) protected2. 在Java中,一个类可以同时继承多个类吗?A) 可以B) 不可以3. 在Java中,接口的成员变量默认是什么修饰符?A) privateB) protectedC) publicD) 默认不写修饰符4. 下面哪种访问权限修饰符可以让子类访问父类的成员变量?A) privateB) protectedC) publicD) 默认不写修饰符5. 下面哪个关键字可以用来声明一个常量?A) constantB) finalC) staticD) default二、填空题1. 在Java中,可以通过____关键字来引入其他包中的类。
2. 在Java中,____关键字可以用来防止重写一个方法。
3. 在Java中,____关键字表示当前对象的引用。
4. 在Java中,____关键字用于表示父类。
三、编程题请编写一个Java类,实现一个矩形的类,要求具有以下功能:1. 拥有长度和宽度两个属性。
2. 拥有计算矩形面积的方法。
3. 能够输出矩形的属性信息。
```javapublic class Rectangle {private double length;private double width;public Rectangle(double length, double width) {this.length = length;this.width = width;}public double getArea() {return length * width;}public void printInfo() {System.out.println("Length: " + length);System.out.println("Width: " + width);}}```使用上述代码,可以创建一个矩形对象并调用相应方法来获取矩形的面积和属性信息。
Java面向对象试题集
Java面向对象试题集1、面向对象编程的三大特性是()A)封装,继承,多态C)继承,抽象,多态B)封装,重用,继承D)封装,灵活,抽象2、下面关于构造方法的说法正确的是()(多选)A.构造方法不能被继承B.构造方法不能被重写C.构造方法不能被重载D.构造方法不能声明为private3、下面关于类的说法,不正确的是()A)类是同种对象的集合和抽象C)对象是类的实例B)类属于Java语言中的引用数据类型D)类就是对象4、封装性可以对类的成员进行访问级别控制,其中限制最严格的是()A)publicB)privateC)defaultD)protected5、以下哪种类成员修饰符可以在不同包的子类中访问()A)taticB)privateC)defaultD)protected6、Java语言中哪个包是被自动导入的()A)java.utilB)ngC)java.defaultD)java.io7、有一个类MyCla,它的构造方法声明正确的是()A)voidMyCla(int某){...}C)publicMyCla (int某){•••}8、对下列程序说法正确的是()B)Mycla(int某){...}D)publicvoidMyCla(int某){•••}publicclaTet7{publictaticvoidmain(Stringarg[]){String1=\String2=\2=2+\Sytem.out.println(1==2);}}A)trueB)faleC)编译错误D)Helloworld9、在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法A)finalB)abtractC)taticD)void10、下面关于接口说法不正确的是()A)接口的所有方法都是抽象的B)接口所有的方法一定都是public的C)用于定义接口的关键字是implementD)接口是一组行为的集合11、为了区分类中重载的同名不同方法,要求()A)参数的类型或个数不同B)使用不同的参数名C)修改访问权限D)方法返回值数据类型不同12、如果子类覆盖了父类的一个public方法,则此方法在子类中可以使用什么修饰符(A)publicB)public和protectedC)privateD)任何修饰符都可以,根据需要选用13、不能用在类上的修饰符是()A)finalB)publicC)abtractD)protected14、下列程序段运行后,标准输出是()publicclaTetE某{publictaticvoidmain(Stringarg[]){method();}taticvoidmethod(){try{Sytem.out.println(\}finally{Sytem.e某it(0);//程序中止Sytem.out.println(\}}}A)tetB)finallyC)tetfianllyD)无法通过编译15、运行下面的程序时会产生什么异常()publicclaTetE某{taticpublicvoidmain(Stringarg[]){int某=0;inty=2/某;intz[]={1,2,3,4};intp二z[4];//越界,调用}}A)ArrayInde某OutOfBoundE某ceptionB)NumberFormatE某ceptionC)ArithmeticE某ceptionD)ArithmeticE某ception和Arraylnde某OutOfBoundE某ception16、关于异常,下列描述正确的是()A)try代码段和其后跟随的catch代码段之间可以有间隔代码B)每个catch代码段声明其能处理的一种特定类型的异常C)finally代码段在异常出现的情况下不被执行D)finally代码段中不可以有try和catch代码段17、要将字符串\年8月8日20:00:00\解析成Date实例,SimpleDateFormat的格式模板应该是()A)yyyy-MM-ddhh:mm:C)yyyy年M月d日hh时mm分秒B)yyyy-mm-ddHH:MM:SSD)yyyy年M月d日hh:mm:18、关于集合框架,说法不正确的是()A)与数组不同,集合框架是容量可变的容器B)集合框架不能保存基本类型,但是可以将它们转换为包装类后保存C)集合框架中的Lit,Set,Map接口都是Collection接口的子接口D)集合类除了提供可变容量的存储外,还提供了对数据的算法19、对保存在Lit中的数据进行查找,方法不正确的是()A)对元素进行遍历,依次比较B)对内容有序的Lit可以进行二分法查找C)调用inde某Of方法查找D)无论是否有序都可以用二分法查找,比线性查找快很多20、如果要按照特定顺序保存元素,应当使用的容器是()A)HahMapB)ArrayLitC)JFrameD)TreeSet21、有一个名为myLit的ArrayLit实例,取得其最后一个元素的方法是()A)myLit.get(0);B)myLit.get(t());C)myLit.get(myLit.ize());D) myLit.get(myLit.ize()-1);22、有一个名为myLit的ArrayLit实例,调用mylit.get(0)的结果是()A)正确取得其第一个元素B)返回数字0C)可能产生异常D)以上都不正确23、当试图编译并运行下面程序时会出现什么结果()claA{publicintgetNumber(inta){returna+1;}}claBe某tendA{publicintgetNumber(inta,charc){returna+2;}publictaticvoidmain(String[]arg){Bb=newB();Sytem.out.println(b.getNumber(0));}}A)编译错误B)运行错误C)1D)224、当编译并运行下面程序时会出现什么结果()publicclaMyAr{publictaticvoidmain(Stringargv[]){int[]i=newint[5];Sytem.out.println(i[5]);}}A)编译出错B)运行出错C)输出0D)输出“null”25、要将内存中的一首MP3音乐的数据保存到磁盘上,应当使用什么流(A)FileWriterB)BufferedWriterC)FileOutputStreamD)ObjectOutputStream26、将对象序列化,要实现哪个接口()27、有以下Java程序代码,运行结果是()publicclaTet{publictaticStringoutput=\publictaticvoidfoo(inti){try{if(i==1){thrownewE某ception();})output+=\}catch(E某ceptione){output+=\return;}finally{output+=\}output+=\}publictaticvoidmain(Stringarg[]){foo(0);foo(1);Sytem.out.println(output);}}A)1342B)123C)134234D)1342328、在JAVA中,()接口位于集合框架的顶层A)CollectionB)CollectionC)MapD)Set29、已定义两个接口B和C,要定义一个类同时实现这两个接口,正确的是()A)interfaceAe某tendB,CC)claAimplementB,CB)interfaceAimplementB,CD)claAimplementB,implementC30、下面关于继承的叙述正确的是()(多选)A.在JAVA里只允许单一继承B.在JAVA里一个类只能实现一个接口C.JAVA可以多继承D.JAVA的单一继承避免了菱形继承的危险31、下面哪些接口直接继承自Collection接口()(多选)A.LitB.MapC.SetD.Iterator32、研究下面的JAVA代码,输出结果将是()publicclaTetE某ception{publictaticvoidmain(String[]arg){inta[]={0,1,2,3,4};intum=0;try{for(inti=0;i<6;i++){um+=a[i];}Sytem.out.println(\}catch(ng.ArrayInde某OutOfBoundE某ceptione){Sytem.out.println(\数组下标越界\}finally{ Sytem.out.println(\程序结束\}}}A.10数组下标越界程序结束B.10程序结束C.数组下标越界程序结束D.程序结束33、研究下面的JAVA代码,输出结果将是()publicclaTetE某ception{publictaticvoidmain(String[]arg){try{Sytem.out.println(\Sytem.e某it(0);}finally{Sytem.out.println(\}}}A.hello,jrC.hello,jr后是88B.88D.不能编译34、研究下面的JAVA代码,输出结果将是()publicclaTet{String=\publicvoidtet(String){Sytem.out.println(\Sytem.out.println(\thi.=;Sytem.out.println(\Sytem.out.println(\}publictaticvoidmain(String[]arg){newTet().tet(\}}A.:cbathi.:nba:cbathi.:nbaB.:nbathi.:nba:nbathi.:nbaC.:cbathi.:nba:cbathi.:cbaD.:nbathi.:cba:cbathi.:cba35、给定JAVA代码如下,关于uper的用法,以下描述正确的是()claCe 某tendB{publicC(){uper();}}A.用来调用类B中定义的uper()方法B、用来调用类C中定义的uper()方法C、用来调用类B中的无参构造方法D、用来调用类B中第一个出现的构造方法4.对于任意一个类,用户所能定义的构造方法的个数至多为A.0个B.1个C.2个D.任意个6.关于实例方法和类方法,以下描述正确的是:(D)A.实例方法只能访问实例变量B.类方法既可以访问类变量,也可以访问实例变量C.类方法只能通过类名来调用D.实例方法只能通过对象来调用7.接口是Java面向对象的实现机制之一,以下说法正确的是:A.Java支持多重继承,一个类可以实现多个接口;B.Java只支持单重继承,一个类可以实现多个接口;C.Java只支持单重继承,一个类只可以实现一个接口;D.Java支持多重继承,但一个类只可以实现一个接口。
java面向对象试题及答案
JAVA面向对象一:填空1、_____ 是JVM自带的一个线程(自动运行着的程序),用于回收没有任何引用所指向的对象。
2、_____空间用于存储使用new关键字所创建的对象;_____空间用于存储程序运行时在方法中声明的所有的局部变量;_____用于存放类的信息(包括方法),方法有_____份。
3、面向对象三大特征:_____,_____,_____.4、下面是一个类的定义,请将其补充完整。
class _____ {String name;int age;Student( _____ s, int i) {name=s;age=i;}}5、Java 语言的接口是特殊的类,其中包含______常量和_______方法。
6.如果子类中的某个方法的名字、__________和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
7. Java 仅支持类间的单重继承,接口可以弥补这个缺陷,支持_____重继承.8. 接口中所有方法均为________和________的。
9. Java语言中,表示一个类不能再被继承的关键字是________。
10.Java语言中,表示一个类A继承自父类B,并实现接口C的语句是_________________。
11、以下代码的输出结果是________________。
int i=9;char c=’a’;char d=(char)(c+i);System.out.println(d);12.继承主要强调子类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输13、我们在java程序中,把关键字________加到方法名称的前面,来实现子类调用父类的方法14.java语言中,调用方法时,参数传递是_____调用,而不是地址调用15.接口是一种只含有抽象方法或______的一种特殊抽象类16.abstract方法_______(不能或能)与final并列修饰同一个类17.创建一个类就是创建一个新的数据类型,而类在java中属于_____数据类型。
(完整版)面向对象专题练习
5.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
6.一般Java程序的类主体由两部分组成:一部分是属性,另一部分是方法。
7.分别用class关键字来定义类,用new关键字来分配实例存储空间。
public abstract void k();
}
class B extends A{
protected void f(){ }//子类修饰符必须大于父类
void k(){//子类修饰符必须大于父类
System.out.print("I am subclass");
}
public static void main(String[] args) {
A.抽象类中必须有抽象方法,接口中也必须有抽象方法
B.抽象类中可以有非抽象方法,接口中也可以有非抽象方法
C.含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法
D.抽象类中的变量定义时必须初始化,而接口中不是
29、从下列程序中你发现了几处错误D。
abstract class A{
abstract void f(){};//抽象方法没有方法体。
public void f(){//修饰符必须大于接口的范围,对了
System.out.print(s);
}
}
class ClassB{
void g(InterfaceA a){//g方法传入的a为interfaceA类(接口类型引用)
a.f();
}
}
public class E {
public static void main(String[] args) {
Java面向对象期末考试题
Java期末考试题选择题(每题2分,共20分)1.在Java中,下列哪个选项是合法的变量名?(2分)A. 3xB. _nameC. $valueD. -age2.Java中boolean类型的取值是什么?(2分)A. 0 和1B. true 和falseC. yes 和noD. on 和off3.Java中,数组的第一个元素的下标是多少?(2分)A. 0B. 1C. -1D. 取决于数组的长度4.下列哪个关键字用于定义不可变的变量?(2分)A. staticB. constC. finalD. immutable5.Java中,继承是使用哪个关键字实现的?(2分)A. implementsB. extendsC. inheritsD. derives6.抽象类的特点是什么?(2分)A. 可以实例化B. 必须包含至少一个抽象方法C. 不能包含具体方法D. 可以包含具体方法7.使用哪个方法可以获取字符串的长度?(2分)A. length()B. size()C. lengthD. getSize()8.在Java中,++i比i++的效率高。
(2分)A. 正确B. 错误9.在Java中,所有类都直接或间接继承自Object类。
(2分)A. 正确B. 错误10.StringBuffer类是线程安全的。
(2分)A. 正确B. 错误填空题(每题2分,共20分)1.在Java中,使用关键字______声明类变量。
(2分)2.使用______关键字可以跳出当前循环。
(2分)3.______方法用于在字符串末尾添加新的字符串,而不改变原字符串。
(2分)4.Java中,如果子类的方法与父类的方法相同,这种机制称为______。
(2分)5.在Java中,一个类可以实现多个______。
(2分)6.使用______关键字可以声明一个方法可能抛出的异常。
(2分)7.______是Java中用于生成文档注释的注释方式。
(2分)8.在Java中,使用______和______关键字可以定义一个二维数组。
java面向对象练习题目
1. super()与this()的区别?2.作用域public,protected,private,以及不写时的区别?3.在JAVA中,如何跳出当前的多重嵌套循环?4. 一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?5.Overload和Override的区别。
Overloaded的方法是否可以改变返回值的类型?6. final类有什么特点?7.Java中的异常处理机制的简单原理和应用。
8.final, finally, finalize的区别?9.int 和 Integer 有什么区别?1、【练习题】构造方法与重载定义一个网络用户类,要处理的信息有用户ID、用户密码、email地址。
在建立类的实例时,把以上三个信息都作为构造函数的参数输入,其中用户ID和用户密码时必须的,缺省的email地址是用户ID加上字符串"@"2、【练习题】构造方法与重载、包编写Addition类,该类中应包含一组实现两数相加运算的重载方法。
实现加法运算的方法,应接受两个参数(即加数和被加数),方法将两个参数进行加法运算后,返回相加结果。
考虑可能针对不同的数据类型进行计算,重载一组方法,包括整型、长整型、浮点型、双精度浮点型、还有字符串。
在main方法中创建Addition类的实例,分别调用重载方法测试其效果。
应将Addition类打入到包中,以自己名字的拼音为包命名。
4、【练习题】构造方法与重载建立一个汽车类,包括轮胎个数,汽车颜色,车身重量等属性。
并通过不同的构造方法创建事例。
至少要求:汽车能够加速,减速,停车。
要求:命名规范,代码体现层次,有友好的操作提示。
5、【练习题】构造方法与重载创建一个类,为该类定义三个构造函数,分别执行下列操作:1、传递两个整数值并找出其中较大的一个值2、传递三个double值并求出其乘积3、传递两个字符串值并检查其是否相同4、在main方法中测试构造函数的调用6、【练习题】Static关键字与普通变量的区别:创建一个名称为StaticDemo的类,并声明一个静态变量和一个普通变量。
java面向对象程序设计练习题(有答案)
满分:100 分姓名:班级:学号:1. 填空题 ( 5.0 分 )面向对象三大特征______ ______ ______正确答案:封装继承多态2. 填空题 ( 5.0 分 )使用static 修饰的变量称为静态变量,静态变量可以有两种访问方式,分别是对象名.静态变量名和______正确答案:类名.静态变量名3. 单选题 (4.0 分 )下面关于java 中类的说法哪个是不正确的A. 构造函数是类中的特殊方法B. 类一定要声明为public 的,才可以执行C. 在软件设计中,类,就是一个模板,它定义了通用于一个特定种类的所有对象的属性(变量)和行为(方法)D. 一个java 文件中可以有多个class 定义(但只能有一个public 修饰的类)正确答案:B4. 单选题 ( 4.0 分 )关于类中可以包含的内容,如下说法错误的是()A. 类中可以包含属性和方法B. 类中可以直接包含代码块C. 类中可以嵌套定义类D. 类中不能包含其他类正确答案:D5. 单选题 ( 4.0 分 )构造方法是否可被重写和重载()A. 不能重写,可以重载B. 可以重写,不能重载C. 不能重写,不能重载D. 可以重写,可以重载正确答案:A6. 单选题 ( 4.0 分 )关于封装的好处,以下错误的是()A. 隐藏实现的细节B. 方便修改的实现C. 只能通过规定方法访问D. 实现代码复杂化正确答案:D7. 单选题 ( 4.0 分 )在Java 中,下面描述正确的是()A. 一个子类可以有多个父类,一个父类也可以有多个子类B. 一个子类可以有多个父类,但一个父类只可以有一个子类C. 一个子类只可以有一个父类,但一个父类可以有多个子类D. 以上说法都不对正确答案:C8. 单选题 ( 4.0 分 )Java 语言的类间的继承关系是A. 多重的B. 单继承C. 线程的D. 不能继承正确答案:B9. 单选题 ( 4.0 分 )以下关于this 和super 关键字的说法错误的是()A. this 关键字指向当前对象自身,super 关键字指向当前对象的直接父类B. 在main 方法中可以存在this 或者super 关键字,但不能同时存在。
java面向对象试题及答案
java面向对象试题及答案一、单选题(每题2分,共10分)1. 在Java中,下列哪个关键字用于定义一个类?A. classB. interfaceC. structD. enum答案:A2. Java中,哪个关键字用于定义一个私有方法?A. privateB. publicC. protectedD. default答案:A3. 下列哪个选项不是Java中的访问修饰符?A. privateB. publicC. protectedD. static答案:D4. 在Java中,哪个关键字用于实现多态?A. abstractB. finalC. staticD. interface答案:A5. 在Java中,下列哪个关键字用于定义一个接口?A. classB. interfaceC. structD. enum答案:B二、多选题(每题3分,共15分)1. 在Java中,下列哪些关键字用于定义一个类的方法?A. publicB. privateC. protectedD. static答案:A, B, C, D2. 下列哪些关键字用于实现类的继承?A. extendsB. implementsC. abstractD. final答案:A3. 在Java中,下列哪些关键字用于定义类的成员变量?A. privateB. publicC. protectedD. static答案:A, B, C, D4. 下列哪些关键字用于定义类的构造方法?A. constructorB. thisC. newD. super答案:B, D5. 在Java中,下列哪些关键字用于定义接口的常量?A. privateB. publicC. staticD. final答案:B, C, D三、判断题(每题2分,共10分)1. Java中,一个类可以继承多个类。
(错误)2. Java中,接口可以继承接口。
(正确)3. Java中,一个类可以继承多个接口。
java面向对象试题及答案
java面向对象试题及答案# Java面向对象试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义类?- A. class- B. interface- C. enum- D. package答案:A2. 以下哪个是Java中的继承特性?- A. 一个类可以继承多个类- B. 类可以继承接口- C. 接口可以继承类- D. 接口可以继承多个接口答案:D3. 以下哪个是Java中封装的体现?- A. 使用public关键字- B. 使用private关键字- C. 使用static关键字- D. 使用final关键字答案:B4. 在Java中,哪个关键字用于实现多态?- A. abstract- B. final- C. override- D. implements答案:C5. 以下哪个是Java的构造方法的特点?- A. 可以有返回类型- B. 可以有多个同名的构造方法- C. 必须有返回类型- D. 必须与类名相同答案:D二、简答题1. 简述面向对象编程的三大特性,并给出Java中的例子。
面向对象编程的三大特性是封装、继承和多态。
- 封装:封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
例如,在Java中,可以通过使用private关键字来隐藏类的成员变量,只通过public方法来访问这些变量。
- 继承:继承允许新创建的类(子类)继承现有类(父类)的属性和方法。
例如,如果有一个`Animal`类,可以创建一个`Dog`类继承`Animal`类。
- 多态:多态允许同一个接口接受不同的数据类型。
在Java中,可以通过重写父类的方法来实现多态。
例如,`Animal`类有一个`makeSound()`方法,而`Dog`类可以重写这个方法来发出狗的叫声。
2. 解释Java中的接口和抽象类的区别。
接口和抽象类都是Java中实现抽象化的方式,但它们有以下区别: - 接口可以包含抽象方法和默认方法,但不能有具体实现。
Java面向对象部分习题 - Java工程师
Java面向对象部分习题 - Java工程师习题一1:下例说法( )正确。
( 2 分) A:一个程序中可以包括多个类 B:一个源文件中只能有一个类 C:一个源文件中可以有多个公共类 D:一个源文件只能供一个程序使用 2:下面语句哪个是正确的( )。
( 2 分) A:char='zdc'; B:long l=oxfff; C:float f=0.65;D:double=0.7E-2;3:对对象的理解错误的是( )。
( 2 分) A:对象由属性和行为两部分组成。
B:对象可以是一个人、地址、物品、事件、概念等。
C:万事万物皆可看做对象。
D:以上都不对4:如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏。
这时如果想在该方法内使用成员变量,必须使用关键字是( )。
( 2 分) A:this B:final C:nativeD:super5:构造方法( )被调用。
( 2 分) A:类定义时 B:创建对象时 C:调用对象方法时 D:使用对象的变量时6:以下语句中有语法错误的是( )。
( 2 分) A:for(;;);B:for(int I=0;I〈100;I++〉〔〕; C:if(a〈0〉a++; D:;;;7:Java与C/C++比较说法错误的是( )。
( 3 分)A:Java不提供goto语句,所以也就没指定goto作为关键字。
B:Java没有指针。
C:Java没有联合和结构D:Java只有单继承没有多重继承。
8:下列说法( )是正确的。
( 3 分)A:程序执行到break语句是一定会结束所有的循环 B:程序执行到continue语句时会结束当前循环C:break语句和continue语句都可以和标签协同使用 D:continue语句和break语句的作用相同 9:当编译和运行下列程序段时,会发生( )。
class Base {}class Sub extends Base {} class Sub2 extends Base {} public class CEx{public static void main(String argv[]){ Base b = new Base(); Sub s = (Sub) b; }}( 3 分)A:通过编译和并正常运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题
1、下列关于变量的叙述哪个是错的?()
A. 实例变量是类的成员变量。
B. 在方法中定义的局部变量在该方法被执行时创建。
C. 实例变量用关键字static声明。
D. 局部变量在使用前必须被初始化。
2、在Java语言中,下列哪个包是编译器自动导入的?()
A. java.applet
B. ng
C. java.io
D. java.awt
3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。
A. private
B. protected
C.friendly
D.public
4、下面哪个关键字不是用来控制对类成员的访问的?()
A. public B. protected
C. default
D. private
5、下面哪一个特性不是面向对象编程主要体现的()。
A. 封装性
B. 继承
C. 多态
D. 类
6、不允许作为类及类成员的访问控制符的是()。
A. public
B. private
C. static
D. protected
7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。
A、static void method( )
B、public void method( )
C、final void method( )
D、abstract void method( )
8、可以在下面代码段point x处写入的是?()
//point x
public class Interesting{
//do something
}
A. String str;
B. static int PI=3.14;
C. public class MyClass{//do other thing…}
D. import java.awt.*;
9、下列关于变量的叙述哪个是错的?()
A、实例变量是类的成员变量。
B、在方法中定义的局部变量在该方法被执行时创建。
C、实例变量用关键字static声明。
D、局部变量在使用前必须被初始化。
10、下列哪个类声明是正确的?()
A、abstract final class HI{}
B、abstract private move(){}
C、protected private number;
D、public abstract class Car{}
11、已知A类被打包在packageA , B类被打包在packageB ,且B类被声明为public ,且有一个成员变量x被声明为protected控制方式。
C类也位于packageA包,且继承了B 类。
则以下说法正确的是:()
A、A类的实例不能访问到B类的实例
B、A类的实例能够访问到B类一个实例的x成员
C、C类的实例可以访问到B类一个实例的x成员
D、C类的实例不能访问到B类的实例
12、下列命题为真的是:()
A、所有类都必须定义一个构造函数。
B、构造函数必须有返回值。
C、构造函数可以访问类的非静态成员。
D、构造函数必须初始化类的所有数据成员。
13、在Java中,关于final关键字的说法正确的是()
A、如果修饰变量,则一旦赋了值,就等同一个常量。
B、如果修饰类,则该类只能被一个子类继承。
C、如果修饰方法,则该方法不能在子类中被覆盖。
D、如果修饰方法,则该方法所在的类不能被继承。
14、在Java中,下面关于包的陈述中正确的是()
A、包的声明必须是源文件的第一句代码。
B、包的声明必须紧跟在import语句的后面。
C、只有公共类才能放在包中。
D、可以将多个源文件中的类放在同一个包中。
简单题
1.什么叫方法的重载?构造方法可以重载么?
2.简述实例变量和类变量的区别。
3. 子类会继承父类的所有方法和属性么?
判断题
1.类是一种类型,也是对象的模板。
()
2.类中说明的方法可以定义在类体外。
()
3.实例方法中不能引用类变量。
()
4.创建对象时系统将调用适当的构造方法给对象初始化。
()
5.使用运算符new创建对象时,赋给对象的值实际上是一个引用值。
()
6.对象赋值实际上是同一个对象具有两个不同的名字,它们都有同一个引用值。
()7.对象可作方法参数,对象数组不能作方法参数。
()
8.class是定义类的惟一关键字。
()
9.Java语言会自动回收内存中的垃圾。
()
编程题:
1.编写一个地址Address类,地址信息包括:国家、省份、城市、街道、邮编(6个数字)。
操作方法:打印地址的详细信息、修改属性(setter getter)。
2.编写一个员工Employee类,员工属性包括:编号、姓名、基本薪水、薪水增长比例,操作方法包括:计算薪水增长金额、计算增长后的工资总额,修改薪水增长比例并打印修改之后的工资总额。
3.编写一个部门Dept类,只读属性:部门编号、部门名称、所在位置,方法:打印部门信息。
一个员工信息Emp类,只读属性:员工编号、员工姓名、工种、雇佣时间、工资、补助、部门,方法:打印员工信息,计算员工的薪水,修改员工补助并打印修改之后的薪水。
4.设计一个Dog类,有名字、颜色、年龄等属性,定义构造方法来初始化这些属性,定义方法输出Dog的信息。
编程应用程序使用Dog类:使用数组来记录多条Dog,然后从数组中同名字来查询Dog,如果找到就打印出Dog信息,没有找到就提示没有此Dog。
5.设计一个用户User类,有属性:用户名称、用户密码、用户登录次数。
然后设计一个用户管理UserManager类,有属性User类数组记录多个用户。
添加用户到数组中,从数组中可以删除用户。
有验证用户是否存在数组中方法:isExist(String uname),验证用户登录loginCheck(String uname,String pwd).验证成功,输出登录成功,并且修改此用户的登录次数增加1.登录失败,输出失败信息。
6.猫抓老鼠的过程:Cat、Mouse类,Cat类有抓老鼠的行为
7.创建一个Point类,包含坐标x、y。
然后创建一个MyPoint类,定义两个读写属性start和end,数据类型为Point。
MyPoint类方法:计算start和end之间的距离并打印出来start和end坐标以及距离信息。
8.创建一个加减乘除四则运算类,使用重载实现int double的四则运算
9.创建一个类,为该类定义三个构造函数,分别执行下列操作:传递两个整数值并找出其中较大的一个值。
传递三个double值并求出其乘积。
传递两个字符串值并检查其是否相等。
在main方法中测试构造函数的调用。
10. 建立一个人类(Person)和学生类(Student),功能要求如下:(练习继承、构造方法重载、this、super用法)
(1)Person中包含4个保护型的数据成员name、addr、sex、age 分别为字符串、字符串、字符型整型,表示姓名、地址、性别、年龄。
用4个参数的构造方法、一个两个参数的构造方法、一个无参构造方法,一个输出方法显示4种属性。
(2) Student类继承Person类,并增加输出成员math、english存放数学和英语成绩。
用6个参数构造方法,2个参数的构造方法,一个无参构造方法。
重写输出方法用于显示6种属性。
11.小明去超市买东西,所有买到的东西放在了购物车之中,最后到收银台一起结账。
请使
用面向对象的相关知识,用java代码实现上面生活场景。
12.根据下面类图,设计一个名为Student 的类,包括属性有“学号”、“姓名”、以及3 门课程“数学”、“英语”和“计算机”的成绩,包括的方法有计算 3 门课程的“总分”、“平均分”、“最高分”及“最低分”。
13.在上一题基础上,使用数组来实现对多个学生的管理。
写一个控制台应用程序。
菜单如下:
● 1.添加学生
● 2.删除学生
● 3.查询学生
● 4.修改学生
● 5.打印学生
打印格式如下
学号姓名数学英语计算机
01 张三56 65 77
02 李四89 55 44
● 6.统计学生:
⏹所有学生的“数学”、“英语”和“计算机”每门课程总的平均成绩、最高
分、最低分。
打印格式:
学科平均成绩最高分最低分
数学
英语计算机。