A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 不存在的奇迹 中级黑马   /  2015-4-15 19:22  /  284 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

关键字☆
        (1)概述:被Java语言赋予特定含义的单词叫做关键字
        (2)特点:全部小写。
        (3)注意事项:
                A:gotoconst作为保留字存在,目前不使用,将来在JDK升级中有可能作为关键字使用
                B:类似于Notepad++这样的高级记事本会对关键字有特殊颜色标记
(4)判断一下是否是关键字:
class,HelloWorld,public,static,void,main(不是),String,System
private关键字
        (1)私有的意义,可以修饰成员变量和成员方法
        (2)特点:
                被private修饰后的成员只能在本类中被访问
        (3)private的应用:
                以后再写一个类的时候:
                        把所有的成员变量给private
                        提供对应的getXxx()/setXxx()方法
this关键字
        (1)代表当前类的引用对象
                记住:哪个对象调用方法,该方法内部的this就代表那个对象
        (2)this的应用场景:
                A:解决了局部变量隐藏成员变量的问题
当局部变量和成员变量名称一样时,通过this来获取到成员变量
static关键字
        (1)可以修饰成员变量和成员方法。
        (2)静态的特点:
                A:随着类的加载而加载(回想main方法)
                B:优先与对象存在
                C:被类的所有对象共享
                        这其实也是我们判断该不该使用静态的依据。
                        举例:饮水机和水杯的问题思考
饮水机(用静态修饰)
水杯(不能用静态修饰)
                D:可以通过类名调用(也可以是对象,不过建议还是通过类名)
这里仅限static修饰的变量和方法,而类除外
E:静态修饰的成员,我们一般称之为类成员
F:静态方法只能访问静态的成员变量和静态的成员方法
main方法是静态的,因为它是被虚拟机调用的,虚拟机调用它,不用创建对象,直接类名.main就可以了
        (3)静态的内存图
                方法区中有一个静态区
        (4)静态的注意事项;
                在静态方法中没有this对象,因为静态是随着类的加载而加载的,this是随着对象的创建而存在的,静态比对象先存在。
静态方法只能访问静态成员变量以及静态方法
        (5)静态变量和成员变量的区别
                A:所属不同
                        静态变量:属于类,类变量
                        成员变量:属于对象,对象变量,实例变量
                B:内存位置不同
                        静态变量:方法区的静态区
                        成员变量:堆内存
                C:生命周期不同
                        静态变量:静态变量是随着类的加载而加载,随着类的消失而消失
                        成员变量:成员变量是随着对象的创建而存在,随着对象的消失而消失
                D:调用不同
                        静态变量:可以通过对象名调用,也可以通过类名调用
                        成员变量:只能通过对象名调用
        (6)main方法是静态的
                public:权限最大
                static:不用创建对象调用
                void:返回值给jvm没有意义
                main:就是一个常见的名称。
                String[] args:可以接收数据,提供程序的灵活性
                        格式:java MainDemo hello world java
                                  java MainDemo 10 20 30
final关键字
        (1)final是最终的意思
        (2)特点:
                final可以修饰类,该类不能被继承
                final可以修饰方法,该方法不能被重写(覆盖,复写)
                final可以修饰变量,该变量不能被重新赋值,因为这是一个常量
★常量:
字面值常量
“hello”,10true
自定义常量
final int x = 10;
        (3)面试题:
                final修饰局部变量的问题:
                        a:基本类型,值不能发生改变
                        b:引用类型,地址值不能发生改变,但是对象的内容是可以改变的
                final修饰变量的初始化时机
                        a:被final修饰的变量只能赋值一次
                        b:在构造方法完毕前。(非静态的变量)

您需要登录后才可以回帖 登录 | 加入黑马