基础班学习了一个月多了,感觉了对感念理解的重要性,对于初学者来说对概念的理解非常重要, 前面的概念理解不透彻,就会导致后面的东西理解困难,形成滚雪球的情况,不会的越来越多,所以我来谈谈对private,public,this ,static的理解希望对初学者有帮助。
对概念的理解,我们不能只止步于就知道这段代码没有错,止步于自己能推出一段程序的的运行结果 这些是远远不够的,我们要做的的程度我理解应该为这段代码为什么这么写,有什么好处,还有其他的 写法吗?而且每个关键字的最实用他的环境是什么。言归正传我来说说这几个关键字的理解
private和public我们可以理解为一对反义词,他俩不能同时出现在同一个语句中。private意为私有的public 意为公共的,根据字面意思我们可以简单的理解为被private修饰的变量或方法被私有化了,被public修饰的变量或方法被公有化了。先说private的定义。private:是一个关键字,表示私有的意义。可用于修饰成员变量和成员方法。
被它修饰完毕后的内容,在其他类中是不能直接访问的。例如
程序1:
class Student
{
private String name;
private int age;
public void setName(String n)
{
this.name = n;
}
public String getName()
{
return name;
}
}
class Demo
{
public static void main(String []args)
{
Student S=new Studeng();
S.setName("崔建儒"); //必须通过调用函数才能对其进行访问。
}
}
程序2:
class Student
{
String name;
int age;
}
public String getName()
{
return name;
}
}
class Demo
{
public static void main(String []args)
{
Student S=new Studeng();
S.name="崔建儒"; //可以直接调用
S.age=24; //可以直接调用
}
}
程序1的name1和age1被private修饰了,所以他们是私有的不能被外界所调用,只能通过函数public提供访问函数,在主函数中建立student的对象在调用setname函数才能实现对name1和age1的调用,实现了对私有化变量的保护。不能让外部累随意对其进行调用。而且成员变量只能在方法中进行判断
所以使用private又方便又安全。
程序2的name2和age2和程序1的setname被public修饰,能直接通过对象进行访问级Student S=new Studeng();s.name2,s.age2能随意对其进行赋值很不安全,
还有一般在非主函数所在类中,一般成员变量都要被private修饰,而且对外提供访问方法。一般不会用程序2那种写法。
还有一个private和public的的知识点就是构造函数一定要有private或public修饰,除了默认的构造函数。
|