千锋逆战班,内部类和常用类习题

在千锋学习的第20天
不积跬步无以至千里,不积小流无以成江河!加油
今天我学习了内部类和Object类,Object是以前经常提到的超类(祖先类)
内部类主要分为四种:
(1)成员内部类,静态内部类,局部内部类,匿名内部类
(2)Object的学习的方法为:getClass()返回当前对象的字符串名,hashCade()返回当前对象的int类型的名字按照一定算法,toString()需要自己定义,就是返回当前对象各个属性名字,equals(Object obj)需要传入对象,也是需要自己重写,返回一个boolean值,大体就是判断两个对象是不是各个属性内容相同

下面是我做的内部类和Object类的习题

在这里插入图片描述
以上程序运行的结果为:
null 0
Tom 18

在这里插入图片描述

程序输出结果为:
true
false

在这里插入图片描述

程序输出额结果为:
true
false

在这里插入图片描述
答案为:ABCD

6.为Worker类增加一个equals和toString

package q6;

public class TestWorker {

	public static void main(String[] args){
		
		Object obj = new Worker("tom",18,"男","1457855488");
		Object obj1 = new Worker("tom",18,"男","1457855488");
		System.out.println(obj);
		System.out.println(obj.equals(obj1));
	}
	
}

class Worker{
	String name;
	int age;
	String sex;
	String phone;
	
	public Worker(){}
	
	
	public Worker(String name, int age, String sex, String phone) {
		super();
		this.name = name;
		this.age = age;
		this.sex = sex;
		this.phone = phone;
	}


	@Override
	public boolean equals(Object wor) {
		if(this == wor){//判断他们两个地址是相同的吗,相同的话就直接返回真了
			return true;
		}
		if(wor == null){//判断传入的参数是
			return false;
		}
		if(wor.getClass() != this.getClass()){
			return false;
		}
		
		Worker ww = (Worker)wor;
		if(this.name.equals(ww.name) && this.age == ww.age && this.sex.equals(ww.sex) && this.phone.equals(ww.phone)){
			return true;
		}
		return false;
		
		
	}
	
	public String toString(){
		
		return this.name +"\t"+this.age+"\t"+this.sex+"\t"+this.phone;
	}
	
	
	
	
	
}

在这里插入图片描述

答案为ABCD

在这里插入图片描述

补全代码为:

Lamp lamp = new Lamp();
		
		class Red implements Light{

			@Override
			public void shiner() {
				System.out.println("shiner in red");
				
			}
			
		}
		Light red = new Red();
		lamp.on(red);
		
		Light yellow = new Light(){
			public void shiner(){
				System.out.println("shiner in yellow");
			}
		};
		lamp.on(yellow);

欢迎大家指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值