1。常量一种特殊的变量,因为编译器把他们当作值(value)而不是域(field)来对待。如果你的代码中用到了常变量(constant variable),编译器并不会生成字节码来从对象中载入域的值,而是直接把这个值插入到字节码中。这是一种很有用的优化,但是如果你需要改变final域的值,那么每一块用到那个域的代码都需要重新编译。 不是所有的final数据都是常量,只有编译期能确定数值的才能算是常量。
2。在接口中,定义的域(field)默认是public static final的
而定义的方法默认是public abstract的。
3。内部类可以在其他类中定义,也可以在一个语句块内部定义,也可以在表达式内部匿名定义。
a。内部类可以使用包含它的类的静态和实例成员变量,即使他们是private的,但是对于局部变量,只有声明为final的才可以被内部类访问。
b。若声明为static,就不能访问其外部类的非静态成员。
c。若想在内部类中声明任何static成员,则该内部类必须声明为static类。
d。非静态的内部类,持有其外部类对象的引用,可以访问其所有成员,而静态内部类不持有其外部类对象的引用,所以只能访问其外部类的静态成员。
4。类成员变量有默认值,因为类成员变量在堆中赋初值。而局部变量必须赋值才能使用,否则会出现编译错误。因为局部变量使用的是栈内存,出于效率考虑,虚拟机不会为栈上的变量设置默认值。
5。类不能同时声明为final和abstract的,否则会编译错误。
6。子类方法只能抛出比父类范围更小的异常(如父类的异常或者其父类异常的子类)。子类方法的可见性不能小于父类。即:子类不能比父类的限制更多,不然在使用父类引用指向子类对象时,可能会发生无法访问或者异常没有被catch的危险。
7。wait notify yield sleep
wait:当前线程进入信号量或者锁的待召队列,并且放弃信号量或者锁,只有等到其他线程发出notify通知后,才能进入就绪队列。
notify:当前线程发出通知,通知当前信号量或者锁的待召队列中的某个线程进入就绪队列,但是当前线程并不会放弃信号量或者锁,继续执行。
yield:当前线程停止执行,放弃执行权,进入就绪队列。
sleep:当前线程停止执行指定的时间,但是不会放弃持有的锁。
分享到:
相关推荐
第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第2讲 java语言基础知识第...
java基础知识,帮助初学者更快更好地掌握java。ppt内容具体易懂,希望对刚接触java的初学者有所帮助。
Java是一种广泛使用的面向对象的编程语言,其基础知识涵盖了多个方面,包括语法、面向对象特性、异常处理、多线程...以上只是Java基础知识的一个概述,每个话题都值得深入探讨和实践,不断学习和总结是提升技能的关键。
Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案Java基础知识点和答案...
Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础知识学习:包括JVM虚拟机、对象模型等Java基础知识代码案例Java基础...
java基础知识的培训ppt,对于java初学者来说可以有一些作用。
java面试基础知识点总结
JAVA基础知识总结 JAVA基础知识总结 JAVA基础知识总结
### Java基础知识精炼 #### 一、Java概述与发展历程 Java是一种高级编程语言,由Sun Microsystems公司的James Gosling等人于1991年开始研发,原名为Oak,旨在控制嵌入式设备如有线电视交换盒和PDA。1994年正式更名...
Java 基础知识大全 本资源摘要信息是 Java 基础知识大全的总结,涵盖了 Java 语言的基本概念、特点、历史发展等方面的知识点。以下是本资源摘要信息的详细内容: 一、 Java 语言的特点 * 面向对象:Java 语言是...
自己在网上找的相对好一点的java复习资料,留个纪念 。详细讲述了Java课程的知识点
Java基础知识总结 一些的基础知识 适合初学者和回顾以前的知识
介绍Java求职面试过程过程中的相关知识点,分为java基础,web,框架等基础知识
java基础知识
Java基础知识总结涵盖了Java程序设计语言的核心概念和常用知识点。在详细学习和总结这些知识点之前,首先需要对Java有一个整体的认识。Java是一种面向对象的编程语言,它具有跨平台的特性,即“一次编写,到处运行”...
资源名称:Java编程基础知识变量与数据类型资源目录:【】11957c6aed0bbd30e284837b53bc3a6f【】2.Java编程基础知识变量与数据类型1.数据类型初阶【】2.Java编程基础知识变量与数据类型10.浮点类型【】2.Java编程...