20、Java面向对象——new关键字、构造方法、在MyEclipse中创建get()/set()方法、构造方法的快捷方式

发布于:2022-11-28 ⋅ 阅读:(574) ⋅ 点赞:(0)

目录

课前先导:

一、new关键字

二、构造方法 

 1、语法格式

2、构造方法的用法

3、代码演示 

​三、在MyEclipse中快捷创建get/set方法

四、在MyEclipse中快捷创建构造方法


课前先导:

今天我们来解读一下创建对象的语句,以及看一下在MyEclipse中快速构建get()/set()方法和构造方法

一、new关键字

我们先来看一个属性类

public class Animal {
	
	private String name; //姓名
	private char sex; // 性别
	private int age; // 年龄
	
	//get()/set()方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public char getSex() {
		return sex;
	}
	public void setSex(char sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

}

这个时候我们的程序是不能加载的,程序没main方法他就不能加载执行,这个时候内存并没有给这些属性分配空间 ,我们想用这些变量就得在内存中加载这些变量

英文单词: new  新的 

我们想要程序加载运行就要有main方法,所以在其他的类中想加载属性类,加载语句就必须写在main方法中

new关键字的作用: 

创建一个新的实例,或者说一个新的对象

 一个普通类中的属性和方法,在没有实例化之前内存是不存在的

我们创建一个测试类,在测试类里面创建一个对象,看看是不是把属性类里的属性在内存中加载了

 通过运行结果可以看到属性确实在内存中被加载了,因为我们没有给属性赋值,所以输出的是默认值

那么,new后面的是什么呢?我们继续来看构造方法

二、构造方法 

 new后面的是一个方法。我们之前讲过方法必须定义后才能使用,而这里我们并没有定义这个方法,却能够直接使用,是因为

在Java语言中,每个类都有个默认的无参构造方法

 1、语法格式

构造方法是用来初始化数据的,没有返回值,方法名和类名相同;访问权限修饰符我们一般用public

   public  方法名(参数列表){

                //方法体代码

        }

 -->构造方法没有返回值,void也不写

-->默认构造方法没有参数,因此参数列表可选

 -->构造方法的方法名与类名相同

2、构造方法的用法

(1)构造方法的主要作用是进行一些数据的初始化;

(2)当开发人员没有编写自定义构造方法时,Java会自动添加默认构造方法,默认构造方法没有参数;

(3)当开发人员编写了自定义了有参的构造方法时,默认无参构造方法会被覆盖。若要使用无参构造方法,需要在类中手动添加无参构造方法。

3、代码演示 

创建有参构造方法,并传参运行

public class Animal {
	
	private String name; //姓名
	private char sex; // 性别
	private int age; // 年龄
	
	//有参构造方法
	public Animal(String name, char sex, int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	
	//get()/set()方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public char getSex() {
		return sex;
	}
	public void setSex(char sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	

}

 通过运行结果可以看到,运用有参构造方法,我们不需要通过对象给属性一个个赋值了

我们再创建个对象,不给它传参看看

报错了,因为 

当开发人员编写了自定义了有参的构造方法时,默认无参构造方法会被覆盖。若要使用无参构造方法,需要在类中手动添加无参构造方法。

我们在普通类中再手动创建个无参构造方法

public class Animal {
	
	private String name; //姓名
	private char sex; // 性别
	private int age; // 年龄
	
	//有参构造方法
	public Animal(String name, char sex, int age) {
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
	
	//无参构造方法
	public Animal() {

	}


	//get()/set()方法
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public char getSex() {
		return sex;
	}
	public void setSex(char sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	

}

三、在MyEclipse中快捷创建get/set方法

1、右击代码编辑区--->Source--->Generate Getters and Setters

 2、选择要创建get()/set()方法的属性--->OK

四、在MyEclipse中快捷创建构造方法

1、右击代码编辑区--->Source--->Generate Constructor using Fields

 2、选择属性创建有参构造方法,或什么都不选,创建无参构造方法--->OK

今天的内容很少,大家可以梳理一下前面学过的方法和封装,以后我们的普通来就按这个标准来。

好了,今天的学习就到此结束了,我是一米八、有腹肌、低于半小时你报警的Loveletter,觉得内容不错的小伙伴可以点点关注,我们下篇博文见,再见!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到