2018.12.28this关键字调用书名属性的三个类型题

一.this关键字调用书名属性的三个类型题

1.创建一个借书类BorrowABook,借书类中有书名属性name,参数为name的构造方法和借书方法borrow()。编写一个程序,使用this关键字调用书名属性后,借阅《战争与和平这本书》

package myObject;

public class BorrowABook {
	//成员变量name
	String name;
	//有参构造方法
	public BorrowABook(String name) {
		this.name = name;//将有参构造方法中的参数name的值赋给属性name
	}
	//成员方法borrow
	public void borrow() {
		//在此输出属性的值
		System.out.println("请前往借阅处领取"+name);
	}
	//主方法
	public static void main(String[] args) {
		//创建新对象
		BorrowABook a = new BorrowABook("《战争与和平》");
		//调用方法
		a.borrow();
	}
}

2.创建教师类,类中有姓名、性别、和年龄三个属性,在构造方法中使用this关键字分别为这三个成员属性赋值
我的代码:

package myObject;

public class TeachMan {
	String name;
	String sex;
	int age;
	public TeachMan(String name,String sex,int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	public void Teach() {
		System.out.println("姓名为:"+name);
		System.out.println("性别为:"+sex);
		System.out.println("年龄为:"+age);
	}
	public static void main(String[] args) {
		TeachMan a = new TeachMan("张三","男",18);//要和上面有参构造格式一样
		a.Teach();
		TeachMan b = new TeachMan("李四","男",19);
		b.Teach();
		TeachMan c = new TeachMan("王五","男",20);
	}

}

答案代码:

package myObject;

public class Teacher {
	String name;
	char sex;
	int age;
	
	public Teacher(String name, char sex, int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
		System.out.println("教师姓名:" + name + "\n教师性别:" + sex + "\n教师年龄:" + age);
	}
	public static void main(String[] args) {
		Teacher chinese = new Teacher("张三", '男', 38);
		Teacher math = new Teacher("李四", '男', 45);
		Teacher english = new Teacher("王莉", '女', 32);
	}
}

①.有无参构造方法,创建对象下面写调用方法;没有无参方法,直接在有参方法内输出,不写调用方法
②.如果有参方法中为多个参数,给对象赋值时要与参数格式一致,一对一,多对多
3.一只大熊猫,长1.3米,重90千克。在自定义方法中使用this关键字调用类的成员变量并在控制台输出大熊猫信息

package myObject;

public class Panda {
	private double length = 1.3;
	private double weight = 90.0;

	public String getMessages() {
		return "熊猫体长" + this.length + "米,体重" + this.weight + "KG。";
	}

	public static void main(String[] args) {
		Panda panda = new Panda();
		System.out.println(panda.getMessages());
	}
}

①.写无参方法,直接在主方法中输出"对象.无参方法"
4.多参数情况
书上P141鸡蛋灌饼例题为单参数;习题第二题信用卡类为多参数。多参数的无参构造方法,意思不是没有参数,而是要在方法后括号中写出已有参数,不写变化的参数

package myObject;
	//创建类
public class CreditCard {
	//创建两个成员变量:卡号,密码
	String number;
	String password;
	//有参方法
	public CreditCard(String number,String password) {
		//将参数赋给成员变量
		this.number = number;
		this.password = password;
		if(password.equals("123456")) {
			System.out.println("信用卡号"+number+"的密码为:"+password);
		}else {
			System.out.println("重置信用卡号"+number+"的密码为:"+password);
		}
		
	}
	//无参方法
	public CreditCard(String number) {//注意此处
		this(number,"123456");//注意此处
	}
	public static void main(String[] args) {
		CreditCard a = new CreditCard("62002");//默认对象
		CreditCard b = new CreditCard("62002","820924");//特殊情况对象
	}

}

还有一点要注意,在String字符串的equals()方法,格式为a.equals(str);
如果括号中为字符串名,则不需要加引号;如为具体字符串,则必须加引号
例:
a.equals(str);
a.equals(“123456”);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值