1.接口-interface(关键字):
**接口的特殊的抽象类,接口中只能定义常量和抽象方法。(接口中的方法都是抽象方法)
**创建接口:
public interface Run{
//常量
public static final double PI = 3.14;
// static final double PI = 3.14;
//抽象方法
void run();//接口中的方法默认就是公开的抽象的。
public abstract void run1();
}
**接口的实现(定义实现类)-implements(实现):
public class Runlmpl implements Run{
//重新Run中的所有抽象方法。
public void run(){
}
public void run1(){
}
}
**一个class只能继承一个父类。
public class Aextends B{
}
**一个class可以实现多个接口
public class A implements B,C{
//实现B,C接口中的抽象方法
}
**一个类可以同时继承一个父类实现多个接口
public class A extends B implements C,D{
}
**接口可以被继承(extends):
public interface SubRun extends Run{
//定义新的抽象方法
//—不能实现Run中的抽象方法
}
2.多态:一个对象可以有多钟状态
例子:
interface - 定义一个接口, 接口名字Customer(技术顾问) : answer() -解决问题, train()-- 培训
-------实现技术顾问的接口的类的对象都是技术顾问,只是每个类的实现方式不同。
nterface - 定义一个接口, 接口名字Author(图书作者): write() – 写书
abstract class - 抽象类, 抽象类的名字Emp (name, age ,sex, 上班打卡, 下班打卡)
------继承Emp的类的对象都是员工, 员工可以是讲师,可以是班主任, 可以是就业老师
class - 名叫Teacher(技术方向,上课, 检查作业)
------Teacher 实现Customer, Auther , 继承Emp , 那么Teacher的对象就可以是技术顾问,是作者是员工。
class - 名字叫ClassTeacher(学历, 考勤,开班会)
------ClassTeacher 继承Emp , 那么ClassTeacher是员工
interface Customer{
}
interface Auther{
}
abastract class Emp{
}
class Teacher extends Emp implements Customer,Auther{
}
// 创建对象:
Teacher t = new Teacher(); // teacher是Teacher
Auther a = new Teacher();// -- teacher是Auther
Emp e = new Teacher();// -- teacher是Emp
Customer c = new Teacher();// -- teacher是Customer.
3.内部类:
**把一个类定义到某一个类中,这个类就是内部类,把这个包含内部的类称为外部类。
**内部类的使用情况:当一个类的存在仅仅为某一个单独的类进行服务的时候,那么就将这种提供服务的类作为被服务的类的内部类,建议内部私有化,不建议其他类来使用摸个类的内部类,这个内部类,类似于外部类的属性
class Outer{//外部类
class lnner{//内部类
}}
**怎么创建内部类:先创建一个内部类,然后通过外部类创建内部类。
Outer out = new Outer();
Inner in = out.new inner();//lnner需要导包
4.匿名内部类:
**如果没有名字的内部类,就是匿名内部类。
**如果一个类中需要创建某个对象(这个对象的类型是要实现某个接口或继续某个类),这个对象创建之后,这个类不再使用,那么这种时候可以使用匿名内部类来创建对象。
class Test{
public static void main(String[] str){
// 匿名内部类的使用
// Author-- 接口, 不能创建对象。
// new -- 表示创建对象, 创建的是实现Author接口的一个匿名内部类。将创建好的对象赋值给一个父类型的引用。
Author au = new Author(){
public void write(){
System.out.println("write... write")
}
}
}
}
763

被折叠的 条评论
为什么被折叠?



