赞
踩
权限大小:public>protected>friendly>private
方法重载:
同一个类中允许同时存在两个以上同名的方法
重载规则:方法名相同
方法参数不同(参数个数不同、参数类型、参数顺序不同)
与返回值类型无关(可相同,也可不相同)
方法重写:
子类继承父类时才会发生
重写规则:
方法名相同
方法参数相同(参数个数,参数类型、参数顺序都得相同)
返回值类型相同
子类中方法的访问权限要不小于父类中方法的访问权限(即子类修饰符不能低于父类的修饰符)
System.gc()
是用来调用垃圾收集器的,但是这并不能保证执行。对象的引用设置为null
和指向指挥官对象的引用指向了其他对象
1.初始化对象:初始化的对象的存储空间为空,或者值为0;
2.按顺序分别调用父类成员变量和实例成员变量的初始化表达式;
3.调用父类构造函数:可以用super()方法指定具体的某个父类的构造函数;
4.按顺序分别调用类成员变量和实例成员变量的初始化表达式;
5.调用类本身的构造函数
1.与数据类型相关
关键字------类型------占字节数------备注;
boolean------布尔数据类型------1------有true和false两个值;
long------长整型数据类型------8;
int------整型数据类型------4------ -2^31~2^31-1;
short------短整型数据类型------2------ -2^15~2^15-1;
byte ------字节数据类型------1------大小范围为-2^7~2^7-1;
float ------浮点型(实数型)------4;
double------双精度型数据类型------8;
char------字符型数据类型------ 2------(Unicode码);
class------表示一个类------不确定------可用于定义一个类;
interface------表示一个接口------不确定------可用于定义一个接口;
2.与流程控制
if------表示条件判断; else------条件转折,与if连用; do-while------表示循环语句,最少执行一次; for------表示循环,for循环是最常使用的循环,格式for(表达式a; 表达式b; 表达式c)括号里面的书通常用于控制循环的次数,一般会用一个int类型的变量类计数,如(int i=0; i<10; i++)表达式a用于流程控制的开始值,表达式b表示循环终止条件,表达式c用于计数。 switch(条件a)case……:switch和case合起来用于表示条件分支流程。如: while(int c) { case 1: {语句块1} case 2: {语句块2} ……?????? …… case n: {语句块n} default:exit(0); } 如果c为1,则执行语句块1;如果c为2,则执行语句块2;以此类推,如果c为n,则执行语句块n。default表示除case以外出现的情况。 default:在switch……case……分支语句可知,default是在所有case条件下都不成立时使用。用于包表示src文件夹下的当前包;如果用于类,表示只可被本文件内的其它类访问。 break:用于结束本层循环,或跳出某层循环。 continue:用于跳出本次循环,而break跳出本层循环。Break和continue可以实现类似于C\C++中goto语句的用法: try{……}中放置可能会发生异常的的语句块,catch(){……}用于抓住异常,{}定义当出现异常时的处理方法。finally{……}表示不管异常是否发生,都得进行finally{}中的处理。
java关键字众多,在此就不一 一附上了
八进制:以0开头,eg:012表示10
十进制:正常表示,eg:20
十六进制:以0X开头:eg:0X12表示18
移位运算符:
>>: 左移运算符
<<:右移运算符
>>>:无符号右移,忽略符号位,空位都以0补齐
单操作数运算符>算数运算符>移位运算符>比较运算符>按位运算符>逻辑运算符>条件运算符>赋值运算符
去掉符号(-)-----转化为二进制-----取反-----加1
减1-----取反-----转化为十进制-----加上符号(-)
左移:相当于*2
和右移:相当于/2
&&:第一操作数为假,则第二个操作没有作用,所有结构都为假;
和||:如果第一个操作为真,则所有计算结果都为真;
&>^>|
注意:本地变量是不能被transient关键字修饰的
1).当运算符取正运算符(+)、取负运算符(-)、或按位取反运算符(~)时,如果操作数为字节型(byte)、短整型(short)、或字符型(char)、则先被转化为整型,再参与运算;
2).当运算符为自动递增运算符(++)或自动递减运算符(--)时,如果操作数为字节型(byte)、短整型(short)、或字符型(char),则不用转化为整型,而是直接参与算数运算,且运算结果类型也不变;
3).如果操作数为整型(int)或长整型(long),则无论运算符为何种但操作运算,均不发生类型转换,直接参与运算,且结果类型不变(结果类型为大类型);
1).如果操作数之一为双精度型(double),则另一个操作数先被转化为双精度型(double),再参与算数运算;
2).如果两个操作数均不为双精度(double),当操作数之一为单精度型(float),则另一个数先转化为单精度,再参与运算;
3).如果采用+=、*=等缩略形式的运算符,系统会自动强制将运算符结果转化为目标变量的类型;
System.exit()
方法或者出现error错误时,finally语句块才不会获得执行而退出程序(即:如果程序中没有System.exit()
方法和程序没有error错误,则finally语句块必须执行);try……catch
语句块时,如果try中没有响应异常产生,则catch中不能有这种异常。否则编译错误。但exception、throwable可以出现。运行时异常也可以,如NullPointException
ceil()
方法返回的是比操作数大的最小的double值,如一下代码块输出值为2.0;System.out.println(Math.ceil(1.1));
floor()
方法返回的是比操作数小的最大的double值,如下图代码块输出值为1.0;System.out.println(Math.floor(1.1));
round()
方法返回一个最接近参数的整数,如果小数部分大于等于0.5,则入,否则则舍;System.out.println(Math.round(1.49));
结果为1.0
super(Animal.Name)
不能用非静态属性;int x = 25,36;
char e = -29;
char e = 70000;
int x,y = 1
char e = (char)-29;
char e = (char)70000;
int[][] arr = new int [2][];
new int[]{1,2}
char[] arr = new int [2]
Boolean、Byte、从\u0000到\u007f的字符(7f是十进制的127)、-128~127的Short和Integer
加宽是优先于装箱执行的
加宽优先于var-arg(边长参数)执行
装箱优先于var-arg(边长参数)执行
不能从一个包装类加宽到另一个包装类
不能先加宽,后装箱
可以先装箱,后加宽
顺序是:
1.参数是基本类型:先匹配自身>加宽>包装类
2.参数是包装类型:先匹配自身>拆箱基本类型>拆箱加宽基本类型
switch(a){ case b: }
其中的b必须和a是同一种类型;byte g = 127;
switch(g){
case 127:
}
代码编译错误:因为128超出byte范围;
Exception
、Error
、RuntimeException
和Throwable
类型的异常都够使用throw
关键字抛出;Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。