1.私有属性
private
class Student{
private String sex;
private String name;
private int age;
}
2.this的使用
注意
this可以出现在构造方法和实例方法中,不可以出现在类方法中
所以在类中的static void f(){}这种类方法出现this是不对的
但是又会出现成员变量和局部变量名重复的情况,
以下为错误示例和解决示例
class People{
static int x;
static void set(int x){
this.x = x;//意思想让参数x的值赋给成员变量x
//因为this不能出现在类方法中,所以错误!
}
解决方案
class People{
static int x;
static void set(int x){
People.x = x;
}
//既然x是People共享的,这样就可以解决了
//但是需要注意的是,既然是共享的变量,则一改全改,划重点!!
①在构造方法中使用this.成员变量(当在方法中成员变量和局部变量重名时)
当在构造方法中使用this时,它指的是正在创建的这个对象。
情况1—→可以指代成员变量
class Student{
private String sex; //1
private String name; //2
private int age; //3
Student (String sex,String name,int age){
this.sex = sex; //this.sex指的是1处的成员变量sex
this.name = name; //this.name指的是2处的成员变量name
this.age = age; //this.age指的是3处的成员变量age
} //意思是成员变量sex\name\age
//被局部变量参数sex\name\age修改。
}
情况2—→可以指代创建的对象
public class People{
String name;
People(String s){
name = s;
this.words(); //1
}
void words(){
String word = new String ("Be confident!");
System.out.println(name+" "
+"said to him self"+" "+"'"+word+"'");
}
public static void main(String args[]){
People Mustang = new People("Mustang");
}
}
//创建对象“Mustang”的时候
//1处构造方法中的this指代的就是对象 Mustang
//最终输出Mustang said to him self 'Be confident!'
②在构造方法或实例对象中使用this(参数)来调用其他构造方法
实例方法一定是对象调用,当一个对象调用一个实例方法时,实例方法
中的this指的就是当前正在调用的对象.
public static void main(String args[]){
People Mustang = new People("Mustang");
}
public class People{
String name;
People(String s){
name = s;
this(); //调用1处无参的构造方法
}
People(){ //1
String word = new String ("Be confident!");
System.out.println(name+" "
+"said to him self"+" "+"'"+word+"'");
}
}
注意,在调用的有参数的构造方法时,应在this后面的括号内带上具体的类型值,而不仅仅是类型而已
class Test {
public Test(int x){ //1
System.out.println("I'm the best");
}
public Test(){
this(1);//调用1处的构造方法,不仅限于1.只要是整数类型的数值都可以。
System.out.println("I'm the best");
}
}
3.类可以有内部类,而方法不可以嵌套
4.一个对象可以有多个引用