Java学习 ------ 面向对象3

“面向对象”的编程思想3

类的第三个成员 ----- 构造器(也称为构造方法)

咳咳,还记得我们在前面的文章里说过类的成员有两个,一个是属性,一个是方法。那木呢,今天,我们的类有多了一个小伙伴,那就是构造器。啊哈哈哈哈哈哈哈,那木它有啥特征,又是干啥滴呢?
特征:
一、首先哈!它的名字和类的名字是保持一致的,对的,你没有听错。类叫啥,我就叫啥。啊哈哈哈哈哈哈哈!
二、它呢,不需要返回值,也就是不能有return语句啦!
咳咳,那木它有啥作用呢,害,其实,他就是创建对象,然后给对象进行初始化的。嘿嘿
害,我还是写代码吧,emmmmm

public class Person {
	
	public Person () {				//这个呢,就叫做构造器,也就是构造方法,
		age = 18;					
		name =  "小黑";
		//然后呢,只要以下出现了名字和年龄这两个属性,那木他们的初始值就会变成18岁和小黑。
	}
	public String  name;
	private int age;
}

在这里插入图片描述

这个构造器呢,还是可以带参数的。想不到吧,啊哈哈哈哈哈哈哈!

public class Person {
	
	public Person (itn x,String y) {			//就像这个样子,emmm
		age = x;					
		name =  y;
	}
	public String  name;
	private int age;
	//然后在main里面创建对象的时候就要这样写了   Person p = Person(18,“小黑”);
	//这样就能在创建对象的时候进行初始化了。
}
  • 这个时候呢,认真看过前两章的小伙伴,肯定有提出疑惑的了。
  • “咳咳,那个木木呀,前面你说了方法是可以重载的,那木这个构造器也是方法,那这个构造器是不是也可以重载呢。”
  • 嘿嘿,可真是个聪明的小伙伴呢,莫得问题哈,这个构造器也是可以重载滴。
public class Person {
	//嘿嘿,这样,你就能完成构造器的重载了。
	public Person () {                        
		age = 18;
		name =  "小黑";
	}
	
	public Person (int x) {
		age = x;
	}
	
	public Person (String y) {
		name =  y;
	}
	
	public Person (int x,String y) {
		age = x;
		name =  y;
	}
}

关键词 ----- this

咳咳,又来一个关键字啦!!!!注意注意。。。
有的书上说呀,这个this关键字呢,是很难理解的,大家就当他在放 * 哈!!不要怕,走,跟木木爬开他的面具吧!!
this呢, 它代表的就是 当前对象 ,它呢,可以调用当前类的属性呀’、方法呀还有构造器。
这个时候肯定有人了说了 no picture you say a JB? 啊哈哈哈哈,真的是怕了怕了,来人,上代码!

public class Person {
	//我们暂且先举个简单的例子,利用this来引用我们的属性成员。
	
	public String  name;   //类的属性成员
	private int age;
	
	//我们可以看到哈,在构造器里面,形参的名字和属性名字重复了。那谁代表谁呢。
	public Person (int age , String name) {   
		this.age = age;
		this.name = name;
	}
	//this呢,表示这个类,那木this.age当然是表示这个类的成员啦,后面的age就表示这个构造器里面的形参。
}
  • 咳咳,讲一万遍,看一万遍,不如自己动手打一次。
  • 真的哦,木木亲测有效,啊哈哈哈哈哈哈哈!!!!童叟无欺。

JavaBean

  • 害,有人一看,蒙了,这啥呀。咳咳,莫怕,它就是Java语言写成的可重用组件啦!
  • 咳咳,所谓的JavaBean就是指符合一些标准的Java类,那是啥标准呢?
  • 第一、这个类呢,是公共滴。(就是public修饰的)
  • 第二、有一个无参的公共的构造器。
  • 第三、要有属性,这里一般都是私有属性,且有对应的get、set方法。
public class Person {
	
	
	private String  name;
	private int age;
	
	public Person (int age , String name) {    //构造器
		this.age = age;
		this.name = name;
	}
	
	public String getName() {				//get方法
		return name;
	}

	public void setName(String name) {			//set方法
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int a) {
		if(a <= 150 && a >= 0) {
			age = a;
		}else {
			System.out.println("输入的年龄不符合逻辑!!");
		}
	}
  • 看,就是这个样子。
  • 咳咳,这个时候呢,爱挑事的小伙子又有问题了。
  • “我要是有一百个属性成员,那我不是要打两百个方法,那不是累死。”
  • emmmm,写肯定是要写的。但是考虑这一点,人家Java语言早就给你安排上了。啊哈哈哈哈哈哈哈,想不到吧。
  • 先设置好私有属性成员,然后右击空白处,选择Source,然后再选择Generate Getters and Setters。
  • 进去后√上你设置的私有属性变量就ok啦!!
    在这里插入图片描述
    在这里插入图片描述
  • 然后按下ok,就全部帮你搞定啦!!

在这里插入图片描述

  • 是不是超级方便呢!!!!啊哈哈哈哈哈哈哈。
  • 害,到这里,面向对象这一章,就先过一段落啦!!明天开始,就要从新的知识开始学习啦。
  • 还是那句话,看是学不会的,一定要自己亲自动手去打代码,出结果,那才是自己真正得到的。
  • 加油,朋友!!!
改革尚未成功,同志仍需努力!!!
发布了18 篇原创文章 · 获赞 33 · 访问量 2728

猜你喜欢

转载自blog.csdn.net/qq_43514659/article/details/104767032