1.内部类:
①普通内部类:
创建对象:外部类.内部类 对象名 = 外部类对象名.new 内部类();
class A{
classB{}
classstatic C{}
publicvoid test(){
classD {}
}
}
②静态内部类:创建对象:
外部类.内部类 对象名 = new 外部类.内部类();
③方法内部类:只能在方法内创建对象和使用。
2.==和equals区别:
① ==判断的是地址或值是否相同。
equals是判断对象的内容是否相同。
②用法:==用于判断基本数据类型判断相同。
equals用于判断字符串是否相同(equals()是string类的一个方法)
例如:”abc”==new String(“abc”) 值为false
“abc”.equals(“abc”) 值为true
3.定义float类型变量时,需要在小数数值后面加f,否则会默认为double类型,而高精准的double不能直接赋值给低精准度的float。long类型变量一样数值后加l。
例如:float f = new 1.2f; long l = 100l;
4.java中类型
分为基本数据类型和引用类型(类类型);
区别:基本数据类型没有方法和属性调用,引用类型可有方法和属性调用。
基本数据类型操作属于值传递,类类型赋值属于地址传递。
注:在java中每个基本类型都有相应的引用类型。如:Integer(int)、Character (char)
基本类型和引用类型之间的转换:
如:int i = 10;
Integer a = new integer(i);//转为引用类型
int b = a.intValue();//转为基本数据类型
5.switch语句当匹配到case时,执行完当前内容后如果没有break,将会继续执行后面case中的内容。
6.在抽象类中抽象方法不能有写出实现内容。
7.当创建一个对象如果没有初始化不能被使用。
例如:String s;
System.out.println(s);
编译不能通过
8.异常
①异常是程序运行中出现的非正常问题。分
②为受检异常和非受检异常。受检异常在程序运行前出现,非受检异常在程序运行过程中出现。受检异常的父类为Exception,非受检异常的父类为RuntimeException。
③异常代码块通过try…catch方式处理。(多个catch语句块在从上往下捕抓的异常必须是从小到大或同等级)
9.IO流
①字符和字节关系:一个英文字母就是一个字符(1个字节);一个中文标识一个字符(2个字节)
②IO四大类:字节流InputStream OutputStream
字符流 Reader Writer
③字符流不能直接包装字节流,除了InputStreamReader和OutputStreamWriter
10.抽象类和接口的区别
①看属性
接口中:必须是常量static final
抽象类:可以是常量,也可以是变量
②看方法
接口中:全部是抽象方法
抽象类:可以有抽象方法,也可普通方法,也可以有构造方法
③接口中所有的方法和属性访问权限,必须是public
注:类是 单继承 单实现;
抽象类是 单继承 多实现
接口是 多继承 单实现