JavaBean标准类

113: private 关键字的作用及使用

package cn.cgtn.day06.demo03;
/*
问题描述:定义Person的年龄时,无法阻止不合理的数值被设置进来。
解决方案: 用private 关键字将需要保护的成员变量进行修饰。

一旦使用了private 进行修饰,那么本类当中仍然可以随意访问。
但是,超过 了本类范围之外就不能再直接访问了。

简介访问private 成员变量,就是定义一对Getter/Setter 方法。
必须叫setXXX或者getXXX命名规则。
对于Getter来说,不能有参数,返回值类型和成员变量对应;
对于Setter来说,不能有返回值,参数类型和成员变量对应。

*/
public class Person{
	String name;//姓名
	private int age;//年龄

	public void show(){
	System.out.println("我叫:"+name+,年龄:”+age);
}
	//这个成员方法,专门用于向age设置数据
	public void setAge(int num){
	if(num<100&&num>=9){//如果时合理情况
	age=num;
}else{
System.out.println("数据不合理")}
	age=num;
}
//这个成员方法,专门获取age的数据
	public int getAge(){
	return age;
}
}


package cn.cgtn.day06.demo03;
public class Demo03Person{
public static void main(String[] args){
	Person person=new Person();
	person.show();

	person.name="赵丽颖";
	person.setAge(20);
	person.age=18;
	person.show();

}
}

114:练习使用private关键字定义学生类

package cn.itcast.day06.demo03;
/*
对于基本类型当中的boolean值,Getter方法一定要写成isXXX的形式,
而setXXX规则不变。
*/

public class Student{
 
	private String name;//姓名
	private int age;
	private boolean male;//是否为男性

	public void setMale(boolean b){
	male=b;
}
	public boolean isMale(){
	return male;
}

	public void setName(String str){
	name=str;
}
	public String getName(){
		return name;
}
	public void setAge(int num){
	age=num;
}

public int getAge(){
return age;
}
}



package  cn.cgtn.day06.demo03;
public class Demo04Student{

public static void main(String[] args){
 	Student stu=new Student();
	stu.setName("鹿晗");
	stu.setAge(20);
	stu.setMale(true);

System.out.println("姓名:"+stu.getName());
System.out.println("年龄:"+stu.getAge());
System.out.println("是否为男性:"+stu.isMale());

}
}

115: this 关键字的作用

新建一个包package Demo04
new上一个类Person
/*
当方法的局部变量和类的成员变量重名的时候,
根据就近原则,优先使用局部变量。
如果需要访问本类当中的成员变量,需要使用格式:
this.成员变量名


"通过谁调用的方法,谁就是this"
在重名的情况下,起到区分的效果。
*/
package cn.cgtn.day06.demo04;
public class Person{
	String name;//我自己的名字
	//who 是参数,是对方的名字
	//成员变量name 是自己的名字

	public void sayHello(String who){
		System.out.println(who+",你好。我是"+this.name);
	System.out.println(this);
//成员变量名String name写this.
//局部变量名写who, 不要写this


}
}


在 demo04类中new 一个类Demo01Person
package cn.cgtn.day06.demo04;
public class Demo01Person{

public static void main(String[] args){
	Person person=new Person();
	//设置我自己的名字

	person.name="小明";
	person.sayHello(who:"小红");
	System.out.println(person);



}
}



116: 构造方法

在demo04类中,新建Student类

package cn.itcast.day06.demo04;
/*
构造方法是专门用来创建对象的方法,
当我们通过关键字new来创建对象时,
其实就是在调用构造方法。

格式: 
public 类名称(参数类型 参数名称){
	方法体
}
注意事项:
1.构造方法的名称必须和所在的类名称完全一样,就连大小写也要一样
2.构造方法不要写返回值类型,连void都不写
3.构造方法不能return一个具体的返回值
(void-return;)
4. 如果没有编写任何构造方法,
那么编译器将会默认赠送一个构造方法,没有参数、方法体,什么事情都不做。
5.一旦编写了至少一个构造方法,那么编译器将不再赠送。
6.构造方法也是可以进行重载的。
重载:方法名称相同,参数列表不同。
7.现在的这个类是由四个部分组成的,
1/成员变量
2/无参数的构造方法
3/全参数的构造方法
4/ Getter、Setter函数
public Student(){}
*/
public class Student{

	//成员变量
	private String name;//成员变量
	private int age;
//public Student(){
//System.out.println("构造方法执行啦!");
//}
//编译器默认可以赠送一个

		//无参数的构造方法
	public Student(){
System.out.println("无参构造方法执行啦!")}

	//全参数的构造方法
	public Student(String name,int age){
	System.out.println("全参构造方法执行啦!")this.name=name;
	this.age=age;
	}

		//Getter, Setter
	public void setName(String name){
	this.name=name;
	}
	
	public String getName(){
	return name;
	}
	
	public void setAge(int age){
	this.age=age;
	}

	public int getAge(){
	return age;
	}
}


现在在demo04中创建一个Demo02Student
package cn.cgtn.day06.demo04;
public class Demo02Student{

	public static void main(String[] args){
	Student stu1=new Student();//无参构造
		System.out.println("==========")
	Student stu2=new Student(name:"赵丽颖",age:20);//全参构造
	stu2.setAge(21);//改变年龄
	System.out.println("姓名:"+stu2.getName()+",年龄:"+stu2.getAge());
	//如果需要改变对象当中的成员变量数据内容,仍然还需要使用setXXX方法
	

}
}

117:定义一个标准的类 JavaBean

demo05
new一个Student类
package cn.itcast.day06.demo05;
/*
一个标准的类通常要拥有下面四个组成部分:
1.所有的成员变量都要使用private关键字修饰
2.为每一个成员变量编写一对儿Getter、Setter方法
3.编写一个无参数的构造方法
4.编写一个全参数的构造方法

这样标准的类也叫做Java Bean
*/
public class Student{	
	//成员变量
	private String name;//姓名
	private int age;//年龄
//此时选择Code---> Generate(Alt+Insert)---> 选择 Getter and Setter-->按住shift键,将Name和Age全都选中
--->生成啦
//再次选择Code--> Constructor(构造器,构造方法)--->选 Select None

	//无参数的构造方法
	public Student(){
	}

//选择Code-->Generate-->Constructor->全参数的构造方法
	public Student(String name,int age){
	this.name=name;
	this.age=age;
	}


//getter,setter 写在最后,因为比较多
	public String getName(){
	return name;
	}
	
	public void setName(String name){
		this.name=name;
	}

	public int getAge(){
	return Age;
	}

	public void setAge(int age){
		this.age=age;
	}

}

然后如何使用呢?

package cn.cgtn.day06.demo05;
public class Demo01Student{

	public static void main(String[] args){
	Student stu1=new Student();
	stu1.setName("小明");
	stu1.setAge(20);
	System.out.println("姓名:"+stu1.getName()+",年龄:"+stu1.getAge());
	System.out.println("============");

	Student stu2=new Student(name:"小红",age:21);
	System.out.println("姓名:"+stu2.getName()+",年龄:"+stu2.getAge());
	stu2.setAge(22);
	System.out.println("姓名:"+stu2.getName()+",年龄:"+stu2.getAge());
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值