java面向对象练习

java面向对象练习

一、选择

  1. 有关Java中的类和对象,以下说法错误的是
    A. 同一个类的所有对象都拥有相同的特征和行为
    B. 类和对象一样,只是说法不同
    C. 对象是具有属性和行为的实体
    D. 类规定了对象拥有的特征和行为

B

  1. 在java中,以下程序的运行结果是
    A. 输出:null   B. 正常运行,但不会输出任何内容   C. 编译出错,不能运行   D. 能运行,但运行时会出现异常
package lianxi;

class Person {
	public String name;
}
public class Test {
	public static void main(String[] args) {
		Person person = new Person();
		System.out.println(person.name);
	}
}

A

  1. 下面代码运行的正确结果是
    A. 编译错误,无法正常运行   B. 编译正确,但运行时产生错误   C. hello   D. world
class Phone {
	 String message;
}
public class PhoneTest {
	public static void main(String[] args) {
		Phone one = new Phone();
		one.message = "hello";
		Phone two = one;
		two.message = "world";
		System.out.println(one.message);
	}
}

D

  1. 哪个空间用于存储使用new关键字所创建的对象
    A. 堆   B. 栈   C. 方法区   D. 实例区

A

  1. 分析下面的Java代码,编译运行结果是
    A. 运行结果为:学号:1 姓名:张三
    B. 运行结果为:学号:null 姓名:张三
    C. 程序出现编译错误
    D. 程序出现运行时异常
public class Test {
	int number;
	String strname;
	
	Test(int num, String name) {
		number = num;
		strname = name;
		System.out.println("学号:" + num + "姓名:" + name);
	}
	public static void main(String[] args) {
		Test obj1 = new Test();
		Test obj2 = new Test(1,"张三");
	}
}

C

  1. 下面的哪几项是合法的构造方法重载(多选)
    A. public Display(String s){ }
    B. public int display(int n1,int n2){ }
    C. Display (int …a){ }
    D. public display(Strnig s,int a){ }
public class Display {
	// ...
}

A C

  1. 运行结果为()
    A. mainboard:华硕,cpu:Intel   B. mainboard:s1,cpu:s2   C. mainboard:Intel,cpu:华硕   D. 华硕,Intel
public class User {
	String mainboard,cpu;
	public User(String s1, String s2) {
		mainboard = s1;
		cpu = s2;
	}
	public static void main(String[] args) {
		User c = new User("华硕", "Intel");
		System.out.println("mainboard:" + c.mainboard + ",cpu:" + c.cpu);
	}
}

A

  1. 在Java中,以下程序编译运行后的输出结果为( )
    A. 6   B. 3 4   C. 8   D. 7
public class Test {
	int x,y;
	
	Test(int x, int y) {
		this.x = x;
		this.y = y;
	}
	
	public static void main(String[] arg) {
		Test pt1,pt2;
		pt1 = new Test(3,3);
		pt2 = new Test(4,4);
		System.out.print(pt1.x + pt2.x);
	}
}

D

  1. 在Java中,下列关于this的说法错误的选项是(多选)
    A. 在构造方法中如果使用this调用其他构造方法,只能是第一条语句
    B. 不能在构造方法中调用同一个类的其他构造方法
    C. 在构造方法在中如果使用this调用其他构造方法,语句可以放在任意位置
    D. 可以使用“this.方法名()”或“this.属性名”来引用当前对象的成员

B C

二、编程

  1. 创建Person类和测试类
    属性:名字(name),年龄(age),年级( grade)
    方法:
    • 无参无返回值的student方法,描述为:我是一名学生!
    • 带参数(性别sex)的方法,描述为:我是一个**孩!(其中,**为传入参数)
    • 无参无返回值的mySelf方法,介绍自己的姓名、年龄、年级(参数参考效果图)
class Person {
	String name;
	int age;
	String grade;
	//student方法
	public void student() {
		System.out.println("我是一个学生!");
	}
	//sex方法
	public void sex(String sex) {
		System.out.println("我是一个" + sex +"孩!");
	}
	//mySelf方法
	public void mySelf(String name, int age, String grade) {
		this.name = name;
		this.age = age;
		this.grade = grade;
		System.out.println("我叫" + name + ",今年 " + age + "岁,现在上 " + grade + "了!");
	}
}
public class Test {
	public static void main(String[] arg) {
		//使用new关键字实例化对象 
		Person person = new Person();
		//传入name、age、grade的参数值    
		 String name = "王小明";
		 String sex = "男";
		 int age = 12;
		 String grade = "六年级";
	    //分别调用student、sex、mySelf方法
		 person.student();
		 person.sex(sex);
		 person.mySelf(name, age, grade);
	}
}
  1. 编写自定义猴子类
public class Monkey {
    //属性:姓名(name)、特征(feature)      
	 String name,feature;
    //无参的构造方法(默认初始化name和feature的属性值,属性值参考效果图)           
	 public Monkey() {
		 System.out.println("我是使用无参构造产生的猴子:");
		 this.name = "名称:长尾猴";
		 this.feature = "特征:尾巴长";
	 }
    //带参的构造方法(接收外部传入的参数,分别向 name 和 feature 赋值) 
	 public Monkey(String name,String feature) {
		 System.out.println("我是使用带参构造产生的猴子:");
		 this.name = "名称:" + name;
		 this.feature = "特征:" + feature;
	 }
	 //完成两个构造器的实例化对象,并打印输出语句
	public static void main(String[] arg) {
		String name = "白头叶猴";
		String feature = "头上有白毛,喜欢吃树叶";
		Monkey monkey = new Monkey();
		System.out.println(monkey.name);
		System.out.println(monkey.feature);
		System.out.println("=======================");
		Monkey newMonkey = new Monkey(name,feature);
		System.out.println(newMonkey.name);
		System.out.println(newMonkey.feature);
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值