目录
1、Java的三大特征
2、抽象类和接口
3、关键字final
4、运用
5、总结
1、Java的三大特征1.1封装
简言之,就是把一些东西隐藏和暴露出来。
1.1.1封装的实现
(1)将不能暴露的成员隐藏起来。实现方法是将该成员定义为私有的,在成员定义前加上修饰符private。
(2)用公共方法来暴露对该隐藏成员的访问,可在函数上加修饰符public,将该方法定义为公共的。
代码示例:
public class Test {
private String name;
private int age;
public void setName(String name){
if(name.length()>6 || name.length()<2){
System.out.println("请输入符合要求的名字!!")
return;
}
else{
this.name = name;
}
}
public String getName(){
return name;
}
}
1.2继承
在Java中,被继承的类称为父类、基类或超类,与之对应的类称为子类或派生类。继承是通过关键字 extends 实现的。
1.2.1格式
class 子类 extends 父类 {}
//如果一个成员要被子类继承后使用,这个成员不能是private类型
//一般情况下,成员变量定义为protected类型,成员函数定义为public类型
1.2.2重写与覆盖
1、在子类里可以根据自己的需要对从父类中继承来的方法进行重写。重写的方法和被重写的方法必须都具有相同方法名称、参数列表和返回类型。
2、子类方法的覆盖是使子类“隐藏”了父类中的方法。如果需要访问被子类覆盖的方法,则可以使用super关键字指明调用父类被覆盖的实例方法。
1.3多态
父类的引用可以指向子类对象。
2、抽象类和接口2.1抽象类:含有抽象函数的类称为抽象类,抽象类必须用abstract修饰。
1、抽象类不能被实例化;
2、抽象函数必须被重写,除非子类也是抽象类;
3、在抽象类中可以含有普通成员函数。
2.2接口:单继承,多接口
//用法
interface XXXXXX
class 子类 extends 父类 implements 接口1,接口2...
3、关键字final
//用final修饰一个类,该类不能被继承,eg:
final class TestDome{}
//用final修饰一个函数,该类在被子类继承的情况下,show函数不能被重写,eg:
class TestDome{
public final void show();
}
//用final修饰一个成员变量时,该变量不能重新赋值,eg:
class Math{
public final double PI = 3.14
}
4、运用
按要求编写一个Java应用程序程序:
(1)定义一个接口CanFly,描述会飞的方法public void fly();
(2)分别定义类飞机和鸟,实现CanFly接口。
(3)定义一个测试类,再定义一个makeFly( XXX )方法,其中让会飞的事物飞。
测试飞机和鸟,在main方法中创建飞机对象和鸟对象,
调用makeFly方法,让飞机和鸟起飞。
//接口定义
public interface CanFly {
void fly();
}
//定义类飞机和鸟
public class Plane implements CanFly {
public void fly() {
System.out.println("芜湖~~飞机起飞!");
}
}
public class Bird implements CanFly {
public void fly() {
System.out.println("鸟儿在飞!");
}
}
//测试类
public class Test {
public static void main(String[] args) {
Plane p = new Plane();
new Test().makeFly(p);
Bird b = new Bird();
new Test().makeFly(b);
}
public void makeFly(CanFly p) {
p.fly();
}
}
5、总结
接口中的成员函数默认都是public访问类型,成员变量默认是用public static final标识的,所以接口中定义的变量是全局静态常量。
final成员变量必须在声明时或在构造函数中显式赋值才能使用。一般情况下,在定义时就进行赋值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)