1、抽象类
abstract class 包含抽象方法的类,叫做抽象类
接口可以理解为纯抽象类
抽象类用于被继承,被其他类拿来当做父类使用
“Cannot instantiate the type Person”抽象类不能被实例化a.编写类的时候,其中包含了抽象方法,即为抽象类;
b.实现接口的时候,其中有的抽象方法没有实现;
c.继承抽象类后,其父类中的抽象方法没有实现。
抽象类Person
package javastudy;
public abstract class Person {
public void eat(){
System.out.println("动物吃饭");
}
public abstract void study(); //编写类时,包含了抽象的方法
}
student类
package javastudy;
public class student extends Person{
@Override
public void study() {
// TODO Auto-generated method stub
System.out.println("学习!");//继承抽象类后,其父类中的抽象方法没有实现
}
}
Testit类
package javastudy;
public class Testit {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Person z=new Person();
student s=new student();
s.study();
s.eat();
}
}
stud接口
package javastudy;
public interface stud {
public void study();
}
teacher接口
package javastudy;
public interface teacher {
public void teach();
}
Assist类
package javastudy;
public abstract class Assist implements stud, teacher {
@Override
public void study() {
// TODO Auto-generated method stub
System.out.println("hello,学习"); //实现接口的时候,其中有的抽象方法没有实现,只实现了stud方法
}
}
2、内部类
类中又包含类,举例如下:
package javastudy;
public class Outer {
public int age;
class inner{ //定义一个内部类
public int sex;
}
}