抽象类首先要注意:
1.子类对象才可实例化。
Student s = new Student();
abstract class Person{};
class Student extends Person{};
2.子类要重写父类得抽象方法。
abstract class Person5{
abstract String talk();}
class Student extends Person5{
String talk() {
return "学生——>姓名:"+name+",年龄:"+age+",职业:"+occupation+"!";}
}
抽象类里面包括了接口,可以说接口就是抽象类的一种。
接口的创建:【接口名】 【对象名】= new 【实现接口的类】
[接口修饰符] interface〈接口名〉[extends〈父类接口列表〉] { 接口体 }
接口修饰符:有 public 和缺省两种类型。
注意:
接口中的方法只有定义而没有实现。
//实现:在类体中必须加入实现该接口及其父接口中所有方法的代码。
接口继承以后:
(1)方法重名:与前面的类似
(2)常量重名:两个重名常量全部保留,并使用原来的接口名作为前缀
注意:
实现接口必须实现接口的全部方法。
package test1;
public class 接口 {
public static void main(String[] args) {
Stu stu = new Stu();
System.out.println(stu.talk());
}
}
//接口内的变量不可修改,且必须赋值,方法不能实例化,和抽象类相同
//但抽象类的成员变量可以不赋值,接口的成员变量可以赋值
interface P6{
public String name = "张三";
public int age = 18;
public String occupation = "学生";
public String talk();
}
//继承接口需要用implements
class Stu implements P6{
public String talk() {
return "学生——>姓名:"+name+",年龄:"+age+",职业:"+occupation+"!";
}
}