一.概念辨析
1.①对象变量:创建对象之后才能引用的变量,必须用对象名来调用
②类变量:类中static的变量,为所有对象共用,可以直接通过类名来调用
2.①对象方法:创建对象之后才能引用的方法,必须用对象名来调用
②类方法:类中static的方法,为所有对象共用,可以直接通过类名来调用
package test;
public class Test1 {
public int teNum;//对象变量
public static int steNum;//类变量
public Test1() {
teNum = 0;
steNum = 0;//类变量一般不在这里赋初值,经常用于计算创建了多少个对象,此时可以用steNum++;
}
public void prin(){
//对象方法
System.out.println("对象方法-对象变量:"+teNum);
}
public static void sprin(){
//类方法
System.out.println("类方法-类变量:"+steNum);
}
}
public class Main {
public static void main(String[] args) {
Test1 tes = new Test1();
tes.teNum=1;//对象名调用
tes.prin();//对象名调用
Test1.steNum=2;//类名调用
Test1.sprin();//类名调用
tes.steNum++;//对象名调用
tes.sprin();//对象名调用
}
}
二.访问控制
1.public变量:所有程序均可以访问
2.protected变量:只能在其所在的类,该类的子类以及同一个包的其他类中使用
3.private变量:只能在其所属的类中使用
4.default变量:只能在同一个包的类中使用
三.封装
类中的变量为private的,在该类中创建public的方法来控制该变量从而达到限制其他类访问该变量,称为封装。
package test;
public class Test2 {
private int prNum;
public Test2() {
prNum=0;
}
public void changePrNum(int newPrNum) {
System.out.println("原来的prNum:"+prNum);
prNum=newPrNum;
System.out.println("现在的prNum:"+prNum);
}
}
public class Main {
public static void main(String[] args) {
Test2 tes = new Test2();
System.out.println("prNum:"+tes.prNum);//不能直接访问该变量
tes.changePrNum(2);//通过调用函数来访问变量
}
}
注:自己学习的笔记,有错请指教。