封装:如何正确设计对象的属性和方法
1.对象代表什么,就得封装对应的数据并提供数据对应的行为
2.降低学习成本,
private关键字:
1.是一个权限修饰符
2.可以修饰成员
3.被private个修饰的成员只能在本类中才能访问
当成员变量和局部变量同名时,采用就近原则就近原则:谁离我近,我就用谁
this关键词(指向成员变量).
区别:成员变量和局部变量
构造方法:
构造方法也叫构造器、构造凼数
作用:在创建对象的时候给成员变量进行赋值的
格式:
public class student (){
修饰符 类名(参数) {
方法体
}
}
特点:
1.方法名与类名相同,大小写也要一致
2.没有返回值类型,连void都没有
3.没有具体的返回值(不能由return 带回结果数据)
执行时机:
- 定义:1.如果没有定义构造方法,系统将给出默认的无参数构造方法;2.如果定义了构造方法,系统将不再提供默认的构造方法;
- 构造方法的重载:带参数,无参数构造方法,两者方法名相同,但参数不同,这叫构造方法的重载
- 使用方法建议:无论是否使用,都手动书写无参数和带全部参数的构造方法
package phone;
public class phone {
private String name;
private int age;
private String gender;
public void setname(String n){
name=n;
}
public String getname(){
return name;
}
public void setage(int a){
if(a>=18&&a<=50)
{
age=a;
}
else {
System.out.println("非法参数");
}
}
public int getage(){
return age;
}
public void setgender(String g){
gender=g;
}
public String getgender(){
return gender;
}
public void sleep(){
System.out.println("女朋友在睡觉");
}
public void eat(){
System.out.println("女朋友在吃饭");
}
}
package phone;
public class PhoneTest {
public static void main(String[] args) {
phone gf1=new phone();
gf1.setname("冯豆");
gf1.setage(18);
gf1.setgender("女");
System.out.println(gf1.getname());
System.out.println(gf1.getage() );
System.out.println(gf1.getgender() );
gf1.eat();
gf1.sleep();
}
}