java讲义_疯狂Java讲义笔记

String类的多个重载ValueOf()方法用于将基本类型变量转换成字符串,比如

String stStr = String.ValueOf(2.345f);

String boolStr = String.ValueOf(true);

将字符串类型的值转换为基本类型的值可利用包装类提供的parseXxx(String s)静态方法或者Xxx(String s)构造器,比如

String intStr = "112";

int it1 =Integer.parseInt(intStr);

int it2 = new Integer(intStr);

toString()方法时Object类里的一个实例方法,所有的Java类都是Object类的子类,所有的Java对象都有toString()方法。

有抽象方法的类智能被定义成抽象类,抽象类里可以没有抽象方法。

定义抽象方法只需在普通方法上增加abstract修饰符,并把普通方法的方法体包括花括号全部去掉,并在方法后增加分号。

abstract修饰类时表明这个类只能被继承,当abstract修饰方法时表明这个方法必须由子类提供实现(重写);而final修饰的类不能被继承,final修饰的方法不能被重写,因此abstract和final永远不可同时使用。

abstract关键字修饰的方法必须被其子类重写才有意义,因此abstract方法不能被定义为private权限,即private和abstract不能同时修饰方法。

接口不能包含构造器和初始化块定义,可以包含Field(只能是常亮)、方法(只能是抽象方法)、内部类(包括内部接口、枚举)定义。

接口里的所有成员都是public访问权限,可以省略访问控制修饰符。

不管定义接口里的Field时是否使用public static final修饰符,接口里的Field总将使用这三个修饰符。

不管定义接口里的方法时是否使用public abstract修饰符,接口里的方法总是使用public abstract来修饰。(接口里的内部类、接口、枚举类默认采用public static修饰符)。

一个类实现了一个或多个接口之后,必须完全实现这些接口里所定义的全部抽象方法(重写);否则,该类将保留从父接口那里继承到的抽象方法,该类也必须定义成抽象类。

Java不允许在外部类的静态成员中直接使用非静态内部类,比如以下代码是违法的。

public classStatic{private classIn{}public static voidmain(String[] args){newIn();

}

}

非静态内部类里不能有静态方法、静态Field、静态初始化块。

静态内部类不能访问外部类的实例成员,只能访问外部类的类成员。

在外部类以外的地方创建非静态内部类实例的语法:OuterInstance.new InnerConstructor();创建静态内部类:new OuterClass.InnerConstructor();

对于局部成员而言,使用static修饰没有任何意义,因此所有的局部成员都不能使用static修饰。因为所有局部成员的作用域是所在方法,所以所有的局部成员都不能使用访问控制符修饰。

匿名内部类必须继承一个父类,或实现一个接口。但最多只能继承一个父类,或实现一个接口。

枚举类是一种特殊的类,它一样可以有自己的Field、方法,可以实现一个或多个接口,也可以定义自己的构造器。一个Java源文件中最多只能定义一个public访问权限的枚举类,且该Java源文件也必须与该枚举类的类名相同。

枚举类的构造器只能使用private访问控制符。

所有的枚举类都有一个values方法,返回该枚举类的所有实例。

垃圾回收机制只负责回收堆内存中的对象,在垃圾回收机制回收任何对象之前,总会先调用它的finalize()方法。

对象在内存中的三个状态:可达状态、可恢复状态、不可达状态。

当某个对象被其他类的类变量引用时,只有该类被销毁后,该对象才会进入可恢复状态;当被其他对象的实例变量引用时,只有当该对象被销毁后,该对象才会进入可恢复状态。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值