Java01类和对象

类和对象总结

知识点总结

1. 有参的方法在使用中,这个形参一定要注意。
如果只有这一个方法中用这个形参,用完之后其他地方不再使用,那么可以不用再单独赋值为全局变量;
如果这个方法中用了这个参数后,成员变量或者方法中再次调用,务必要赋值。
参考如下图,标红的地方:
在这里插入图片描述
**2. 在一个类中,定义另一个类的对象,使用时容易出现死循环或者指针异常等。**现把遇到的问题归纳如下:
(1)首先,不建议在一个类中,去new一个其他类。(不包含main方法)
因为new了后,在没赋值情况下,点不出属性来。这里说的点不出属性,不是真的点不出,而是因为在由于没赋值情况下,对象是null,再点的话就会出现异常。
解决方法:可以不用new,直接用类定义一个属性就行。
比如:Wife和Husband都是类,在Wife类里,可以定义Husband属性。
Husband husband;
注意不要Husband husband = new Husband();
(2)其次,在main方法调用类进行属性赋值时,务必一定先new那个被调用的对象,赋值完成后;再new 本身这个类,再赋值它自身的属性值。
否则,顺序颠倒,还是会出现空异常等。
比如
3. 用一个类来定义属性的时候,看着是仅仅一个变量名,实际上这个名字是个对象,包含这个对象类名中里的所有属性和方法。
比如Wife wife;
wife不是仅仅一个变量名,而是一个对象,这个对象可以有name、age属性等,有什么属性或方法就看Wife()这个类中是怎么写的了。

练习总结

1.编写一个Student类:

(1) 属性:姓名name、性别gender、年龄age、学号id属性。
(2) 类中有一个show方法,返回String类型,包含学生的所有信息。
(3) 在另一个测试类StudentTest类中的main方法,创建Student对象,访问所有属性和show方法。
**Student类代码如下:

String name;
	String gender;
	int age;
	int id;
	public String show() {
		return "学生姓名为:" + name + ",性别为:" + gender + ",年龄为:" + age + ",学号为:" + id;
	}

测试类代码如下:

public class StudentTest {
	public static void main(String[] args) {
		Student stu = new Student();
		stu.name="王明";
		stu.gender= "女";
		stu.age = 20;
		stu.id = 20200102;
		
		System.out.println(stu.show());
	}
}

2.定义一个丈夫Husband类和妻子Wife类:

(1) Husband类有姓名、年龄、妻子属性。
(2) 妻子Wife类,有姓名、年龄、丈夫属性。
(3) 丈夫类中有一个showInfo方法,能显示自己的姓名,年龄,和他的妻子的姓名,年龄。
(4) 妻子类中有一个showInfo方法,能显示自己的姓名,年龄,和她的丈夫的姓名,年龄。
(5) 定义一个测试类,创建妻子和丈夫对象,分别给属性赋值,然后测试两个showInfo方法。
Wife类代码如下:

public class Wife {
	String name;
	int age;
	Husband husband;
	
	public void showInfo() {
		System.out.println("妻子的姓名:"+name+",年龄:"+age);
		System.out.println("她丈夫的信息为,姓名:"+husband.name+",年龄:"+husband.age);
	}
}

Husband类代码如下:

public class Husband {
	String name;
	int age;
    Wife wife;
	
	public void showInfo() {
		System.out.println("丈夫的姓名:"+name+",年龄:"+age);
		System.out.println("他妻子的信息为,姓名:"+wife.name+",年龄:"+wife.age);
	}
}

测试类代码如下:

	public static void main(String[] args) {
		Wife wife = new Wife();
		Husband husband = new Husband();
		
		wife.name = "孙小丽";
		wife.age = 38;
		wife.husband =husband;
		
		husband.name = "张小明";
		husband.age =40 ;
		husband.wife =wife;
		
		wife.showInfo();
		System.out.println("-------------------------");
		husband.showInfo();
	}
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值