Java基础学习 二

1. java中每个方法首字母小写的编码风格不适用构造函数

2. 创建一个对象时,也就是给该对象分配到的存储空间取了一个名字

3. 如果已经定义了一个构造函数(无论是有参数还是无参数),编译器就不会自动创建默认构造函数了

4.this关键字: 表示对当前对象的引用,this可以调用一个构造函数,但不能调用两个

package thinkinjava;

public class First {
	
	static String name;
	static int i=0;
	
	// this 关键字返回当前对象的引用
	public First add() {
		i++;
		return this;
	}
	
	public static void main(String[] args) {
		
		First first2 = new First();
		// 结果为 4
		first2.add().add().add().add();
		System.out.println(first2.i);
	}
}

5.static关键字: static方法是没有this的方法,在static方法的内部是不能调用非静态函数的,反过来是可以的,可以在不用创建对象的情况下,仅仅通过类本身来调用static方法,这实际上正是static的主要用途

6.垃圾回收器只知道释放那些由new分配的内存

7. 垃圾回收不等于"析构"   /    对象可能并不会被回收      /      垃圾回收至于内存有关

8. 也许你会发现,只要程序没有濒临存储空间用完的那一刻,对象占用的空间总也得不到释放,如果程序执行结束,并且垃圾回收器也一直没有回收你创建的任何对象的存储空间,则,随着程序的退出,那些资源也会还给操作系统,这个策略是恰当的,因为垃圾回收本身也有开销,要是不使用它,就不会造成这部分的开支了.        如果java虚拟机(JVM)并没有面临内存耗尽的情况,它是不会浪费时间去执行垃圾回收以回复内存的

9. 可以肤浅的认为:正是垃圾回收机制的存在,使得JAVA没有析构函数

10. java中所有的对象(基本类型除外)都在堆上分配存储空间

11. java的堆指针只是简单的移动到尚未分配的区域

12. 类的数据成员是基本类型,如果没有给出初始化的值,那么他们是有默认的值进行初始化的,见<<java基础学习一>>

13.如果一个静态的基本类型没有被初始化,那么它将会获得基本类型的标准初始化值,如果它是一个对象的引用,那么其默认初始化就是 null

14.静态数据只会初始化一次

15.显式静态初始化:

16. 编译器不允许指定数组的大小

17. java中,可以将一个数组赋值给另一个数组,如:

int[] a={1,2,3,4,5}     int[] b = a

18. 如果不确定数组里面需要多少元素,可以直接用new在数组里面创建元素

public class Second {

	public static void main(String[] args) {
		Random random = new Random(10);
		// int[] a;
		// a = new int[random.nextInt(5)];
		// 在定义的同时初始化
		int[] a = new int[random.nextInt(5)]
		System.out.println("length of a = "+a.length);
		System.out.println(Arrays.toString(a));
	}

}

// 输出如下:
length of a = 3
[0, 0, 0]

如果你创建了一个非基本类型的数组,你就创建了一个引用数组

19.

发布了47 篇原创文章 · 获赞 38 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Summer_And_Opencv/article/details/103022067