被public修饰的成员变量或者是成员方法,可以被类的调用对象直接使用 而private修饰的成员变量和方法,不能被类的调用对象使用 例如:

可以看到我们是不能在main方法中直接调用被private修饰的变量
当然我们可以在我们定义的TestMode类中可以定一个方法show,然后在调用show方法实现

这里我们可以清楚了解 private 不光可以修饰字段, 也能修饰方法 通常情况下我们会把字段设为 private 属性, 但是方法是否需要设为 public, 需要具体情况定
class TestMode{
private String name="zhangsan";
private int age=18;
public void setName(String name){
this.name=name;
//这里的this是访问我们类中的成员变量
//name=name //这样写的话是错误的
//或者可以将参数写为其他名称来进行赋值
}
public String setName(){
return name;
}
public void show(){
System.out.println("年龄:"+ age+", 姓名:"+name);
}
}
public class test {
public static void main(String[] args){
TestMode mode=new TestMode();
mode.setName("lisi");
mode.show();
}
}
这里我们可以直接生成setName方法,里面有很多可以生成的源代码,快捷键我的默认是command+n.
1.首先我们的构造方法需要与你的类名相同 2.我们的构造方法可以重载 3.构造方法没有返回值,对象的引用,为对象分配一块空间来储存并调用对象的构造方法
class TestMode{
private String name;
private int age;
private String gender;
//默认的构造函数
public TestMode(){
//构造对象固定默认
this.name="lisi";
this.age=19;
this.gender="nv";
}
//给予参数的构造函数
public TestMode(String name,int age,String gender) {
this.name=name;
this.age=age;
this.gender=gender;
}
public void show(){
System.out.println("name: "+name+" age: "+age+" gender: "+gender);
}
}
public class test {
public static void main(String[] args){
TestMode p1=new TestMode();
p1.show();
TestMode p2=new TestMode("zhangsan",18,"nan");
p2.show();
//以下为直接的结果
//name: lisi age: 19 gender: nv
// name: zhangsan age: 18 gender: nan
}
}this可以表示当前对象的引用,用来访问属性和引用方法进行调用.
class TestMode {
private String name;
private int age;
private String gender;
public TestMode(){
this("lisi",19,"nan");
}
public TestMode(String name,int age,String gender){
this.name=name;
this.age=age;
this.gender=gender;
}
public void show(){
System.out.println("name: "+name+" age: "+age+" gender: "+gender);
}
}
class test{
public static void main(String[] args){
TestMode p1=new TestMode();
p1.show();
}
//执行结果:name: lisi age: 19 gender: nan
}