一.定义成员变量:
private关键字:实现保护作用,不能随便被访问和修改(就是封装):
如需访问需用get和set方法:
具体使用:
标准类下需定义该方法:
(1)set方法单纯表示赋值这个动作,无返回值,且需传参
public void setName(String name){
//赋值新的参数给name,就是为了对其进行保护,方便后续修改
this.name=name;
}
(2)get方法获取需有返回值,无需传参,直接返回变量名(局部变量名)即可
public String getName(){
//返回值为该成员变量
return name;
}
测试类下的调用格式:
(1)set方法需传参赋值
t.setName("张淑");
(2)get方法直接调用获取即可
t.getName()
二.构造方法
new:创建对象是一种默认的无参构造方法调用:
this关键字:与有参构造方法联用
解释:有参构造传入的参数为成员变量,要想赋值给成员变量,则成员变量要加this
1.有参与无参的区别
无论是否默认,都建议创建一个无参构造
标准类下的无参构造方法:
//无参构造
public teacher(){
System.out.println("无参构造");
}
对应测试类中的创建对象:
teacher t = new teacher();
标准类下的有参构造方法:
public teacher(String name,int age){
this.name=name;
this.age=age;
}
对应测试类下的有参对象创建:
teacher l=new teacher("问问",22);
总结:(1)有参构造方法在创建对象时可以直接赋值
(2)有参构造可以通过改变参数个数实现方法重载
(3)无参构造方法想要赋值只能通过set方法
三.成员方法
1.set/get方法可以说是针对对象属性值进行的操作
2.对象包括属性和操作,针对操作的方法可称为成员方法
标准类下定义:
public void show(){ System.out.println(name+id+password); }
测试类下调用:
u.show();
也可自定义输出格式:
System.out.println(u.getPassword());
四.标准类制作实例:
标准类:
package myclass;
//创建一个标准类用户
public class user {
//定义成员变量
private String name;
private int id;
private int password;
//构造有参方法给成员变量赋值
public user(String name,int id,int password){
this.name=name;
this.id=id;
this.password=password;
}
//提供成员方法
//set方法进行赋值可修改成员变量
public void setName(String name) {
this.name = name;
}
public void setId(int id) {
this.id = id;
}
public void setPassword(int password) {
this.password = password;
}
public String getName() {
return name;
}
public int getId() {
return id;
}
public int getPassword() {
return password;
}
//构造操作方法,此方法不用传参
public void show(){
System.out.println(name+id+password);
}
}
测试类:
package myclass;
public class userdemo {
public static void main(String[] args) {
//通过创建对象来赋值
user u=new user("张子文",1,2009);
u.show();
//自定义格式,可用get方法获取成员变量
System.out.println(u.getName()+"---"+u.getId()+"---"+u.getPassword());
//采用set方法赋值
u.setName("张子雯");
u.setId(2);
u.setPassword(1002);
System.out.println(u.getPassword());
u.show();
}
}
注意:
构造方法只用public修饰;set方法用void修饰;get方法用参数类型修饰;成员方法可选参数类型或void;总之都不需要static;
而在测试类才需要static.