定义类的格式:
class Student{
代码
}
注意类名中单词的首字母大写。
成员变量(实例变量):定义在类中但在任何方法之外。(New出来的均有初值)
局部变量:定义在方法之中的变量。
局部变量要先赋值,再进行运算,而实例变量均已经赋初值。这是局部变量和实例变量的一大区别。
实例变量的对象赋值为null。
局部变量不允许范围内定义两个同名变量。实例变量的作用域在本类中完全有效,当被其他的类调用的时候也可能有效。
实例变量和局部变量允许命名冲突。
变量的作用域:
在一个类中,有三个地方可以定义变量(三种变量):类的字段部分(成员变量)、方法的参数变量(局部变量)、方法内声明的变量(局部变量)
如果局部变量和成员变量同名的情况下,局部变量屏蔽成员变量
局部变量,它的作用域范围,是从声明它的地方开始,到方法的结束
成员变量定义的位置不关紧,它的作用域范围总是在整个类内部
所以,好的做法是,尽可能的不要让局部变量与成员变量同名。
书写方法的格式:
修饰符 返回值 方法名 调用过程中 方法体
可能出现的例外
public int/void addNumber(参数) throw Excepion {}
例:
public int addNumber(int a,int b){
}
注:方法名中的参数int a,int b为局部变量
类方法中的一类特殊方法:构造方法。
构造方法是当用类生成对象时,系统在生成对象的过程中利用的方法。
注意:构造方法在生成对象的时候会被调用,但并不是构造方法生成了对象。
构造方法没有返回值。格式为:public 方法名。
构造方法的方法名与类名相同。
构造方法是在对象生成的过程中自动调用,不可能利用指令去调用。
在一个对象的生成周期中构造方法只用一次,一旦这个对象生成,那么这个构造方法失效。
用类来生成对象的语句:
Student s=new Student()。
第一个Student表示这是用Student类进行定义。“Student()”表示调用一个无参数的构造方法。
如果()中有参数,则系统构造对象的过程中调用有参的方法。
此时S称为一个对象变量。
Student s的存储区域存放的是地址:一个对象在硬盘上占有一个连续地址,首地址赋予s空间。
S称为对象Student的引用。
注意:在对象变量中存放的是引用(地址);在简单变量中存放的是数值。
可以构造多个构造方法,但多个构造方法的参数表一定不同,参数顺序不同即属于不同的构造方法:
public student(string name,int a){
}
public student(int a,string name){
}
为两个不同的构造方法。
如果我们未给系统提供一个构造方法,那么系统会自动提供一个为空的构造方法。
注意生成新的对象与旧对象指向无关,生成新对象生命消亡与旧对象无关。
构造器
构造器,也叫构造方法。其名称必须和类名相同,后跟方法的小括号,再后跟方法体花括号
构造方法也可以重载
构造器的主要作用:对成员变量进行初始化、加载资源、......
构造器的使用:在创建类的实例对象时,使用new运行符,调用构造器,来创建实例,申请空间
通过构造实例对象时,传递的构造器参数,来对成员变量进行初始化
通过this关键字调用同一对象中的其它构造器
如果在定义类时,不明确指定一个构造器,那么编译器在编译时,会自动地添加一个空的默认的构造器。
但是,一旦你指定了一个构造器,那么,编译器就不会再插入默认构造器了。