黑马程序员技术交流社区
标题: 关键字 [打印本页]
作者: 不存在的奇迹 时间: 2015-4-15 19:22
标题: 关键字
关键字☆
(1)概述:被Java语言赋予特定含义的单词叫做关键字
(2)特点:全部小写。
(3)注意事项:
A:goto和const作为保留字存在,目前不使用,将来在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”,10,true
自定义常量
final int x = 10;
(3)面试题:
final修饰局部变量的问题:
a:基本类型,值不能发生改变
b:引用类型,地址值不能发生改变,但是对象的内容是可以改变的
final修饰变量的初始化时机
a:被final修饰的变量只能赋值一次
b:在构造方法完毕前。(非静态的变量)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |