Java面向对象进一步学习
构造方法与重载
构造方法用来初始化新创建的对象,构造方法名与类名相同。
无返回值,不用void修饰每一个类都有构造方法,可以有一个或者多个。
重载
同一个类中可以有多个方法,方法名相同,但是参数不同的方法,可以根据使用方法时,参数的不同,调用不同的方法。
构造方法和成员方法都可以重载,同样的原理,参数不同,方法不同。
同时存在时,默认构造方法不能缺失。
public class Gouzao {
String name="0";
float height;
float weight;
String like;
//无参构造方法
public Gouzao(){
System.out.println(name+"喜欢凌ling");
}
//定义了有参的构造方法,为新建对象初始化赋值
public Gouzao(String b,float c,float d,String e)/*三个参数*/{
b=name;
c=height;
d=weight;
e=like;
}
public void learn(){
System.out.println(name+"喜欢学习"+like);
}
public void play(String a){
System.out.println(name+"喜欢玩"+a);
}
public static void main(String[] args) {
/*
使用的是无参构造方法,本身的构造方法默认值为空。
*/
Gouzao xiaohua =new Gouzao();
xiaohua.height=185;
xiaohua.name="小华";
xiaohua.weight=75;
xiaohua.like="唱歌";
xiaohua.play("游戏");
/*
使用的是有参构造方法。
*/
Gouzao xiaoming=new Gouzao("小明",186,70,"滑冰");
xiaoming.play("购物");
}
}
/*运行结果
0喜欢凌ling
小华喜欢玩游戏
0喜欢玩购物
*/
类修饰符
无修饰符
无修饰符的情况下,此类只能被同一个包下的类使用,不能被其他包的类使用。
public修饰符
是公共类的修饰符,它可以在其他的类中被使用。
而一个程序文件中只能定义一个public类,其他类是final修饰的,可以是无修饰符的类。
final修饰符
final修饰的类称为最终类,不可以被继承,不能派生子类,一定程度上提高的程序的安全性。
abstract修饰符
abstract修饰的类称为抽象类,研究对象的公共行为特征,通过继承机制派生给子类。
abstract类自身没有对象,需要派生子类。
修饰数据成员
static修饰静态数据成员,不可被更改,唯一确定。
final修饰的数据成员,可以在初始化阶段赋值,在程序执行阶段不可改变。