1、(重载,实例变量)有以下代码:
package com.qf.qu_07;
public class TestClassA {
public static void main(String[] args) {
ClassA classA = new ClassA();
classA.value = 10;
classA.method();
classA.method(20);
}
}
class ClassA {
public void method(int value) {
System.out.println(value);
}
public void method() {
System.out.println(value);
}
int value;
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wjXC18TF-1661775992787)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220822213521757.png)]
2、(⽅法重载,函数返回值)有以下代码:
package com.qf.qu_07;
public class ClassA1 {
void methon() {
System.out.println("method()");
}
int method(int i) {
System.out.println("method(int)");
}
public static void main(String[] args) {
ClassA1 a = new ClassA1();
a.methon();
a.method(10);
}
}
该程序能否通过编译?
答:不能编译通过,因为int method(int)⽅法没有返回值。需添加相应的return语句。
3、(构造⽅法)关于构造⽅法,下列说法正确的是:A、B、D
A. 每个类中都有⾄少⼀个构造⽅法 B. ⼀个类中可以有多个构造⽅法
C. 构造⽅法可以有返回值 (无返回值) D. 构造⽅法可以有多个参数
4、(引⽤)有以下代码:请写出编译运⾏后的结果。10 11
package com.qf.qu_07;
public class TestQu4 {
public static void main(String[] args) {
int a = 10;
int b = a;
b++;// b=11
System.out.println(a);// 10
Myclass mc1 = new Myclass();// mc1
mc1.value = 10;// mc1=10 0x000A001
Myclass mc2 = mc1;// 0x000A001
System.out.println(mc1.value);
mc2.value++;// 0x000A001+1 地址值+1
System.out.println(mc1.value);// cm1.value=11
}
}
class Myclass {
int value;
}
5、(构造函数)有以下代码:问:这个程序能否编译通过?如果可以,输出结果是什么?如果不可以,则应该如何修改?
答:编译不通过,因为没有定义有参的构造方法!应在Myclass 类中创建无参Myclass(){}和有参Myclass(int n){} 的构造方法。
package com.qf.qu_07;
public class TestQu5_TestMyclass {
public static void main(String[] args) {
Myclass mc1 = new Myclass();
Myclass mc2 = new Myclass(10);
System.out.println(mc1.value);
System.out.println(mc2.value);
}
}
class Myclass {
int value;
// 修改后
public Myclass() {
}
// 修改后
public Myclass(int value) {
this.value = value;
}
}
6、(⾯向对象基础)根据注释,把下⾯代码补充完整:
package com.qf.qu_07;
public class TestDog {
public static void main(String[] args) {
Dog d;
// 创建一个Dog对象,调用有参构造方法
// 名字为joy,年龄为2岁,性别为母
// Dog dog = new Dog("joy", 2, false);
d = new Dog("joy", 2, false);
// 调用Dog对象无参的play方法
// dog.play();
d.play();
// 调用Dog对象有参play方法
// dog.play(30);
d.play(30);
}
}
class Dog {
// 定义一个name属性,该属性为String类型
String name;
// 定义一个age属性,该类型为int类型
int age;
// 定义一个sexual,该类型为boolean类型
boolean sexual;
// true表示为公,false表示母
public Dog() {
}
public Dog(String name, int age, boolean sexual) {
// 分别根据参数,设置Dog类的属性
this.name = name;
this.age = age;
this.sexual = sexual;
}
public void play() {
System.out.println(name + "play");
}
public void play(int n) {
System.out.println(name + "play" + n + "minutes");
}
}
;
}
public void play() {
System.out.println(name + "play");
}
public void play(int n) {
System.out.println(name + "play" + n + "minutes");
}
}