Java语言特性
CurryXu
这个作者很懒,什么都没留下…
展开
-
java中静态属性和和静态方法的继承问题以及多态的实质
首先结论是:java中静态属性和和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏。静态方法和属性是属于类的,调用的时候直接通过“类名.方法名”完成的,不需继承机制就可以调用。如果子类里面定义了与父类中相同的静态方法和属性,那么这时候父类的静态方法或属性会被“隐藏”,你如果想要调用父类的静态方法和属性,直接通过“父类名.方法名”或“父类名.变量名”完成。至于是否继承一说,子类是转载 2017-10-27 10:56:06 · 322 阅读 · 0 评论 -
你真的了解volatile关键字吗?
转载出处:https://www.jianshu.com/p/7798161d7472一、Java内存模型想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的。Java内存模型规定了所有的变量都存储在主内存中。每条线程中还有自己的工作内存,线程的工作内存中保存了被该线程所使用到的变量(这些变量是从主内存中拷贝而来)。线程对变量的所有操作(读取,赋值)都必须在工作内存中转载 2018-03-01 21:57:56 · 160 阅读 · 0 评论 -
Java String性质(二)
转载出处:http://blog.csdn.net/sszgg2006/article/details/49148189Java中的字符串和字符数组没有结束符的概念,而在C语言中字符串或字符数组最后都会有一个额外的字符‘\0’来表示结束。具体见下面分析。1. C 语言在C语言中字符串和字符数组基本上没有区别,都需要结束符;如:char s[4]={‘a’,’b’,’c’,’d’};...转载 2018-02-23 10:26:26 · 253 阅读 · 0 评论 -
Java String 性质(一)
一. 通过字面量初始化String对象我们先来想想以下代码会打印出什么结果?String string1 = "hello";String string2 = string1;string1 = "world";StdOut.println(string1);StdOut.println(string2);打印出的结果是:worldhello是不是感觉有点奇怪?按照一般的理解,string1和原创 2017-09-04 20:36:22 · 415 阅读 · 0 评论 -
Java内部类详解
转载出处:http://www.importnew.com/20134.html可以将一个类的定义放在另一个类的定义内部,这就是内部类。第一次见面内部类我们从外面看是非常容易理解的,无非就是在一个类的内部在定义一个类。public class OuterClass { private String name ; private int age; public String ge转载 2018-02-22 22:25:08 · 190 阅读 · 0 评论 -
Java中this的三种用法的详解
this关键字必须放在非静态方法里面 this关键字代表自身,在程序中主要的使用用途有以下几个方面: 1) 使用this关键字引用成员变量 2) 使用this关键字在自身构造方法内部引用其它构造方法 3) 使用this关键字代表自身类的对象 4) 使用this关键字引用成员方法1. 引用成员变量在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,有些时转载 2018-02-22 21:16:41 · 438 阅读 · 0 评论 -
深入理解Java抽象类和接口
转载出处:http://www.cnblogs.com/dolphin0520/p/3811437.html一. 抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract void fun(); 抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,...转载 2018-02-26 15:10:03 · 263 阅读 · 0 评论 -
Java关键字之abstract(一)
abstract意为“抽象的”,Java中使用abstract关键字来声明类或者方法,分别得到抽象类和抽象方法。下面对抽象类的性质进行探索。1. abstract方法通过abstract声明的方法为抽象方法,在声明的类中不需要实现。public abstract String getDescription();// no implementation2. abstra...原创 2018-02-01 15:33:19 · 414 阅读 · 0 评论 -
Java class文件及其加载过程探索
1. 基础知识class文件可以存储在文件系统的子目录中,类路径必须与包名匹配。另外,class文件也可以存储在JAR文件中。JAR文件以zip格式组织文件和子目录。javac编译器总是在当前的目录中查找文件,但JVM仅在类路径中有“.”目录的时候才查看当前目录。JVM搜索class文件的过程:首先查看存储在jre/lib和jre/lib/ext目录下的jar文件中的class文件,若没有待查原创 2018-01-10 11:38:24 · 337 阅读 · 0 评论 -
Java package 性质
Java允许使用包(package)将类组织起来。从编译器角度来看,嵌套的包之间没有任何关系,如java.util包和java.util.jar包毫无关系,每个包都拥有一个独立的类集合。1. 类的导入一个类可以使用所属包中的所有类,以及其他包中的public。类。使用import语句可以导入包中的特定类或者包中的所有类,例如// 导入包中的所有类import java.util.*;//导原创 2017-12-29 11:10:31 · 234 阅读 · 0 评论 -
Java 局部变量性质
1. 局部变量的定义根据Java官方文档的定义“There is no special keyword designating a variable as local; that determination comes entirely from the location in which the variable is declared — which is between the opening原创 2017-12-28 20:48:23 · 591 阅读 · 0 评论 -
Java static{}语句块详解
static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用。 一、在程序的一次执行过程中,static{}语句块中的内容只被执行一次,看下面的示例:示例一[java] view plain copy print?class Test{ public static int X=100;转载 2017-10-25 10:23:12 · 349 阅读 · 0 评论 -
Java finalize方法
转载自:http://blog.csdn.net/carolzhang8406/article/details/6705831《JAVA编程思想》:java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。(1).对象不一定会被回收。(2).垃圾回收不是析构函数。(3).垃圾回收只与内存有关。(4).垃圾回收和finalize()都是...转载 2018-03-09 17:39:15 · 300 阅读 · 0 评论