用构造器确保初始化:
每个类定义时里面含有默认的构造器,与类名相同,且无返回值,可有形参
Class Hi
{ Hi(){}}//构造器
方法重载:
名称相同,但是参数类型不同
如:
Public void Hi(){ }
Public void Hi(string a){ }
涉及基本类型的重载:
基本类型可以从一个“较小”的类型自动提升至“较大”的类型,如传递char型参数,若无接收char参数的方法,则将char提至int,传给接收int的方法
若想把大类型传至小类型,需要先强制转换,否则会报错
根据返回值区分重载方法:
若编译器可根据语境判断调用哪个方法可以传递参数相同,返回值不同:
如:
Void Hi()
Int Hi()
Int a=Hi();//可判断是调void
Void Hi()
int HI()
Hi();//不可判断调用哪个
This关键字:
This可以使在方法内部获得对当前对象的引用
使用场景:
-
成员变量与局部变量同名,this.名字指的是成员变量,否则会遵循就近原则
-
把自己作为参数传递
如:
Public A()
{New B(this).print();} //对象A将自己作为参数传递
Static:
Static方法是没有this的方法,在static的内部不可调用非静态的方法,反过来可以
成员初始化:
基本类型的数据成员会默认初始化
也可在定义类成员变量的时候为其赋值
也可用构造器初始化
也可函数调用时初始化
静态初始化:
Java中的初始化顺序:
父类中的静态代码-子类中的静态代码-(创建实例则执行之后的初始化,否则不执行)-父类的非静态代码-父类构造函数-子类非静态代码-子类构造函数
静态初始化动作只执行一次
Java中的静态块:
将多个静态初始化组织在一起
如:
Public class HI()
{ Static int I;
Static
{ I=47;}//在首次生成Hi()类对象/首次访问属于HI()类的静态成员时执行
}
数组初始化:
编译器不允许指定数组的大小,为了给数组创建相应存储空间,必须写初始化表达式
Int[] a={1,2,3} //a是对数组的引用
或者
Int[] a=new int[5];
可变参数:
允许在调用方法时传入不定长度的参数,
如:
Void Hi(string… a)或
void Hi(string[] a)
变长参数只可作为函数最后一个参数,编译时会将其转为一个数组
枚举:
被命名的整型常数的集合,当一个变量有几种固定可能的取值时,可定义为枚举
如:
Public enum color
{Green,yello,red;}
可在枚举中添加新方法,添加时必须在enum实例序列后添加分号,且在enum实例之后
技术学习中,欢迎大家批评指正
码字不易,转载请注明来处