-
我们将类的属性私有化,通过set方法进行设置,通过get方法获取
-
示例:
public class Test1 {
public static void main(String[] args) {
Person p1=new Person();
p1.name=“jack”;
p1.setAge(20);
p1.show();
System.out.println(p1.getAge());//20
Person p2=new Person();
p2.name=“rose”;
p2.setAge(-20);
p2.show();
//name=roseage=0china
}
}
class Person{
String name;
int age;
private String nationality=“china”;//添加私有权限,外部无法更改
//对设置年龄进行设置必须大于零,不然默认为0
public void setAge(int num){
if(num >= 0){
age=num;
}else {
age=0;
}
}
//获取属性
public int getAge(){
return age;
}
public void show(){
System.out.println(“name=” + name +" "+“age”+ age + " " +nationality);
}
}
-
不对外暴露私有方法
-
单例模式
===================================================================================
-
创建对象 new+构造器
-
初始化对象信息
-
如果没有显示定义类的构造器的话,则系统默认提供一个空参的构造器
-
默认构造器权限与类权限一致
-
一个类中如果有多个构造器,那么构造器之间为重载
-
定义构造器的格式:权限修饰符 类(形参列表){}
public class Test2 {
public static void main(String[] args) {
Person2 p=new Person2();
//constructor
}
}
class Person2{
String name;
public Person2(){
System.out.println(“constructor”);
}
}
===========================================================================
-
JavaBean是一种JAVA语言写成的可重用组件
-
特点:
-
类是公共的
-
有一个无参的公共构造器
-
有属性,且有get,set方法
- 用户可以使用JavaBean将功能,处理,值,数据库访问和其他任何可以用JAVA代码创建的对象进行打包,其他开发者可以通过JSP页面,JavaBean,apple程序来访问,也就是说JavaBean提供了复制和黏贴功能
==========================================================================
-
在方法内部使用,即这个方法所属对象引用
-
在构造器内部使用,表示构造器正在初始化对象
-
this在表示当前对象时,可以调用类的属性,方法,构造器
-
也就是在方法内部需要调用该方法的对象时,用this
-
通常this可以省略,但如果出现类和方法形参重名就需要加上
-
示例:
public class Test2 {
public static void main(String[] args) {
Person3 p2=new Person3();
p2.setName(“jack”);
System.out.println(p2.getName());
//jack
p2.eat();
//做饭 吃饭
}
}
class Person3{
String name;
public void setName(String name){
this.name=name;//这样可以解决name=name指代不明情况
}
public String getName(){
return this.name;
}
public void eat(){
this.cook();//这里在方法里面调用类的方法
System.out.println(“吃饭”);
}
public void cook(){
System.out.println(“做饭”);
}
}
- this调用构造器
-
在类的构造器中,可以显示使用this(形参列表),调用本类指定的其他构造器
-
调用应注意在一条调用链上同一个构造器只能出现一次
-
构造器调用时只能出现在首行,并且只能声明一个调用其他构造器