是指隐藏对象的属性和实现细节,仅对外提供公共的访问方式(换句话说就是将属性私有化,并提供共有的方法访问);如:getName();setName();提供操作和获取name属性的方法;
- class Teacher{
- private String name; //姓名
- private int age; //年龄
- private static String country; //国家
- private static String school; //学校
-
复制代码- public class Object_Demo {
- public static void main(String[] args) {
- Teacher t =new Teacher(); //创建对象,调用无参构造函数
- //当Teacher属性被private修饰后,其它类中通过对象无法直接使用,否则报错
- //t.name="冯佳";
- //Teacher类提供了setName(String name)方法,操作name属性
- t.setName("冯佳");
- //再通过getName()方法获取name属性的值,用String类型接收
- String name =t.getName();
- //在控制台打印输出通过getName()返回的name变量
- System.out.println("name="+name);
- }
- }
复制代码输出结果:
this关键字概述:
1. this代表其所在函数所属对象的引用。换言之,this代本类对象的引用;
2. 当成员变量和局部变量重名,可以用关键字this来区分,this就是所在函数所属对象的引用;
3. 简单说,哪个对象调用了this所在的函数,this就代表哪个对象。一般方法调用默认加this;
代码举例:
- //设置name属性值的方法
- public void setName(String name) {
- //此行代码,等号左边的name不加this,编译器会就近原则取离它最近那个变量,也就是调用者调用该方法时
- //传入的name变量自己给自己赋值,然并卵
- name = name;
复制代码- <blockquote><span style="font-family: 宋体; line-height: 21px; background-color: rgb(255, 255, 255);">//设置age属性值的方法</span>
复制代码this调用构造函数:
通过this在构造函数中调用其他构造函数的时候,只能定义在构造函数的第一行,因为初始化动作要先执行,否则就会报错。
Static关键字概述:
1. static可以修饰成员属性和成员方法;
2. 被static修饰的成员属性和成员方法,被该类的所有对象共享;
3. 被static修饰的成员属性和成员方法,随着类的加载而加载,所有优先于对象存在,因为对象需要在被创建时,才在对内存中存在;
4. 可以通过类名或对象调用,推荐直接通过类名调用;
5. 在静态方法中是没有this和super关键字,因为静态是随着类的加载而加载。而this是对象创建才存在;
6. 静态方法只能访问静态成员变量和静态成员方法,静态只能访问静态;
成员方法和静态方法:
静态变量:
1. 当分析对象中所具备的成员变量的值都是相同时,这时这个成员就可以被静态修饰;
2. 只要数据在对象中都是不同的,就是对象的特有数据,必须存储在对象中,是非静态的;
3. 如果是相同的数据,对象不需要做修改,只需要使用即可,不需要存储在对象中,定义成静态的;
静态函数:
1. 函数是否用静态修饰,就参考一点,就是该函数功能是否需要访问到对象中的特有数据;
2. 简单点说,从源代码看,该功能是否需要访问非静态的成员变量,如果需要,该功能就是非静态的;
3. 如果不需要,就可以将该功能定义成静态的。当然,也可以定义成非静态,但是非静态需要被对象调用;
4. 如果没有访问特有数据的方法,该对象的创建是没有意义;
用途:
多个对象共享某一数据的时候,我们就把这个数据用static修饰;
代码举例:
以上每个知识点,都是面向对象中同学们必须掌握的重点,很多同学在初次接触面向对象后完全蒙圈,可以理解!其它大部分同学也基本上都是这么蒙过来的,但你们能放弃吗?很明显不能,不能咋办?凉拌,白天在教室认真听课,不管能不能听懂,咱先听着,让老师说的东西先在脑子里过一遍,课间做练习的时候,摸索着来,不要以为看懂了就不动手!不动手的最后都会发现,不看老师代码,一个字不会写!这绝不是恐吓你!到了晚上,去食堂搞一碟凉菜,一边看老师或论坛各个老师的笔记,一把白天老师讲的东西从脑子里翻出来,翻出来一个知识点,就往嘴巴里噻一片凉菜,以资鼓励!这!就是凉拌! 未完待续...