内部类:定义在一个类内部的类,就称为内部类
内部类分为3种
成员内部类:相当于成员变量
局部内部类:定义在方法内部的,相当于局部变量(极少用到,了解即可)
匿名内部类:(常用)
使用要点:
内部类的构造方法不可以在其他类里直接调用!
内部类如果有静态成员变量,那么内部类也必须是静态的!
非静态内部类Car.Engine en = new Car().new Engine();
或者可以这样写:
Car  c = new Car();
Car.Engine  en = c.new Engine();
静态内部类 Car.Engine  en = new Car.Engine();
外部类在使用内部类的时候,可以直接实例化 Engine en = new Engine();
抽象类: 使用abstract关键字修饰的类,称之为抽象类
使用要点:
有抽象方法的类只能定义成抽象类(要使用abstract修饰)
存储过程 字符串转数组抽象类不能实例化,不能生成对象
可以定义构造方法但不可以调用
抽象类只能被继承
继承抽象类的子类必须实现抽象类的抽象方法
抽象类的意义
使一个类更加具有模板意义,强制规定了子类的行为
把设计工作和具体的代码实现工作做了分离
接口: 类的模板,用来做设计或规范,比抽象类更抽象
飞机、篮球、子弹、石头,这些事物之间有什么共同点?是否能用继承体现他们的关系?
这些事物之间没有特别明显的共同属性,也很难抽象出父类(很难归纳为一个类别),但是它们都具有一些相同的行为能力:那就是飞行
因此这里我们不再使用抽象类,而使用接口来体现它们的关系,抽象出它们的共同行为
接口的特点:
接口中的方法全部都是抽象的,不能有方法实现代码!
接口中的方法,默认可以省略public 和 abstract关键字,系统会自动加上
对于实现了接口的类,必须实现接口中的所有抽象方法。
接口中的属性,全部都是静态常量。
默认可以省略final关键字,系统会自动加上
接口是可以多继承的!比如接口A可以同时继承接口B和接口C
常用类:
基本数据类型的包装类
byte Byte、boolean Boolean、char Character、
short Short、int Integer、long Long、
float Float、double Double
String类和StringBuffer
掌握String类和StringBuffer的区别
StringBuffer是带缓冲的可变长度字符串,如果一个字符串在内存中频繁的被修改,为了能够提高性能,这时我们就会考虑使用StringBuffer来存储字符串内容。
StringBuffer类同时也给我们提供了很多实用处理字符串的方法
Math
System
字段摘要
static PrintStream
err  “标准”错误输出流。
static InputStream
in  “标准”输入流。
static PrintStream
out  “标准”输出流。
方法摘要
static long
currentTimeMillis()
返回以毫秒为单位的当前时间。
static void
exit(int status)
终止当前正在运行的 Java 虚拟机。
static void
gc()
运行垃圾回收器。
static String
getenv(String name)
获取指定的环境变量值。
static int
identityHashCode(Object x)
返回给定对象的哈希码,该代码与默认的方法 hashCode() 返回的代码一样,无论给定对象的类是否重写 hashCode()。
static long
nanoTime()
返回最准确的可用系统计时器的当前值,以毫微秒为单位。
集合类: 一组数据的集合,类似于数组,功能比数组强大
集合的特点
集合的长度是可变的

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。