您的位置:首页 > 编程语言 > Java开发

java基础(一)

2016-07-24 15:40 447 查看
java接口,内部类

java接口是一种规范

1—interface关键字修饰,可以多继承,默认public(方法),final(成员变量),static 进行修饰。

2—有成员变量。有方法体。

(接口需要注意的地方,接口嵌套接口(下面代码),不知道在学校老师有没有讲,反正我没印象)

public interface interfaceExtends {

interface InterfaceA{
int property_A=3;
void testA();
}

interface InterfaceB{
int property_B=6;
void testB();
}

interface InterfaceC extends InterfaceA,InterfaceB{
int property_C=9;
void testC();
}
public static void main(String[] args) {
System.out.println(InterfaceC.property_A);
System.out.println(InterfaceC.property_B);
System.out.println(InterfaceC.property_C);
}

}


内部类

1 —匿名内部类

2 —没有名字,只能使用一次,它通常用来简化代码编写

3—必须继承一个父类或实现一个接口

枚举(平时只用那么一次两次,当时还真不知是干什么用的)

1 —使用enum关键字,默认继承long.Enum,不是继承Object,有成员变量,方法体

2—vlaues()获取所以对象,valueOf()获取对象

3—在第一行定义所有对象

public enum SeasonEnum {
CLIENT,PM,STYLIST,PROGRAMMER
int value
SeasonEnum(int value){
this.value = value;
}

public int getValue(){
return value;
}
}


对象与垃圾回收(重点)

1—对象为null时,程序结束,jvm自动回收

2 —垃圾回收,只会回收堆中内存的对象,不会回收物理资源

3 —程序无法控制垃圾回收什么时候回收,回收对象前,会调用finzlize()

3 —强制垃圾回收(两种方法,下面代码方便理解)

—system.gc()

—Runtiem.getRuntime().gc();

——-小知识点

对象在jvm堆的状态

—可达状态(对象实例化时)

—可恢复状态()

—不可达状态(执行finzlize()后,重新引用对象可恢复)

public class test2 {

private static test2 t = null;
public void sayHello(){
System.out.println("sayHello");
}
/**
* @param args
*/
public static void main(String[] args) {
/*for(int i = 0;i<5;i++){
new test2();
Runtime.getRuntime().gc();
System.gc();
}*/

new test2();
Runtime.getRuntime().gc();
t.sayHello();
}

@Override
protected void finalize(){
System.out.println("清理test2");
t = this;
System.out.println("恢复");
}
}


总结

在实际开发中接口是很常用的,特别是在java web Dao层中。这次也了解留枚举用途,以前是照抄代码,根本就不了解枚举干嘛用的,但做任何事情不能得过且过吧,了解更多总是对自己有好处的。重点jvm内存管理:

要了解android的内存管理就必须得了解java的内存分配和垃圾回收机制,

这次也大概知道留jvm的垃圾回收机制,还是要更深入的了解更多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: