赞
踩
一个源文件只能有一个public类
一个源文件可以有多个非public类
源文件的名称应该和public类的类名一致,
如果一个类定义在某个包中,那么package语句应该在源文件的首行
如果源文件包含import语句,那么应该放在package语句和类定义之间。如果没有package语句,那么import语句应该放在源文件中最前面
import语句对源文件中定义的所有类都有效,在同一源文件中,不能给不同的类不同的包的声明
使用final修饰常量
类变量:在第一次访问时创建,在程序结束时销毁,用static修饰
实例变量在对象创建的时候创建,在对象销毁时销毁
访问控制修饰符:
default:缺省,什么都不写,在同一包内可见,不使用任何修饰符。适用对象:类、接口、变量、方法。
private:在同一类内可见。使用对象:变量、方法。之一:不能修饰类
public:对所有类可见。使用对象:类、接口、变量、方法。main方法必须设置为public
protected:对同一包内的类和所有子类可见。使用对象:变量、方法。注意不能修饰类。
访问控制和继承:
父类中声明为public的方法在子类中必须为public
父类中声明为protected的方法在子类中可以声明为protected或者public,不能声明为private。
父类中生命为private的方法,不能被继承。
非访问修饰符:
static修饰符:修饰类方法和类变量,用来声明独立于对象的静态变量,无论一个类实例化了多少对象,它的静态变量只有一份拷贝。静态变量也被称为类变量。
final修饰符:修饰类、方法和变量,final修饰的类不能被继承重新定义,修饰的变量为常量,不可被修改。
abstract修饰符:用来创建抽象类和抽象方法。抽象类不能用来实例化对象,声明抽象类的唯一目的是为了将来对该类进行扩充,如果一个类包含抽象方法,那么该类一定要声明为抽象类。抽象方法没有任何实现的方法,只能由子类提供实现方法。
synchronized和volatile修饰符:只要用于线程的编程。
整数类型:
byte类型占一个字节:-128~127
short类型占两个字节:
int类型占四个字节:
long类型占八个字节:以L或者l结尾,432438947L
整数默认类型为int。
浮点类型:
float类型占四个字节:以F或者f结尾,129.21F
double类型占八个字节
小数默认为double类型。
隐式转换:取值范围小的数据类型与取值范围大的数据类型进行运算,会先将小的数据类型提升为大的,在运算
强制转换:加入数据类型关键字(int)、(byte)
字符类型
char类型占两个字节:只能存放单个数字、符号、字母
布尔类型
boolean类型占据大小不能确定:true or false
面试题:
byte a = 3;
byte b = 4;
byte c = a+b;
/运行时会出现损失精度报错,应为byte与byte类型运算时会提升为int类型,所以结果也是int,a,b是两个变量,变量储存的值是可变的,在编译时无法判断里面具体的值所以会自动转换为int/
byte d = 3+4;运行正确,因为java编译器有常量优化机制。
byte w = 10;
w++:不会报错相当于w = (byte)w+1
w = w+1:报错,损失精度int转换为byte。
&&双与运算符:具有短路效果:第一个表达式为false则第二个表达式不运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。