黑马程序员技术交流社区
标题:
个人关于String类的总结
[打印本页]
作者:
n361204357
时间:
2015-7-21 22:08
标题:
个人关于String类的总结
/*
接口:是一种特殊的抽象类。比抽象类更抽象。因为它里面的方法都是抽象的。
原因:这个抽象类中,只有抽象方法。针对这种情况,java就提供了一种更加抽象的表示形式:接口
作用:
格式:interface 类名 ... class 子类 extends 父类 implement 接口
特点:
A:接口不能被实例化。
B:接口中的方法:
要么被子类重写。
要么子类也是抽象类。
由此可见:
A:具体类多态(几乎没有)
B:抽象类多态(常用)
C:接口多态(最常用) 可体现事物的额外功能
接口的成员特点:
成员变量:接口中只有常量。
因为接口的成员变量有默认修饰符:
public static final
推荐:永远自己给出修饰符。
构造方法:
没有构造方法。
任何类如果没有继承父类,那么这个类就继承自Object类。
成员方法:接口中的方法都是抽象的。
因为接口中的成员方法有默认修饰符:
public abstract
推荐:永远自己给出修饰符。
注意事项:
类与类关系:
继承关系。而且只能单继承,可以多层继承。
类与接口的关系:
实现关系。可以单实现,也可以多实现。
并且还可以在继承一个类的同时,实现多个接口。
接口与接口的关系:
继承关系。可以单继承,也可以多继承。
抽象类:
成员变量:可以是变量,也可以是常量。
构造方法:有构造方法。
成员方法:可以是抽象方法,也可以是非抽象方法。
接口:
成员变量:只能是常量。
默认修饰符:public static final
成员方法:只能是抽象方法。
默认修饰符:public abstract
设计理念的区别
抽象类被继承,这个类中定义的是整个继承体现的共性内容。
体现:is a
接口被实现,这个接口中定义的是整个体现的扩展内容。
体现:like a
案例:
乒乓球运动员和教练
篮球运动员和教练
为了出国交流,乒乓球运动员和教练需要说英语。
请你用所学知识,分析,这里应该有哪些类,抽象类,接口。
*/
interface En
{
void speak();//默认修饰符 public staitc void speak();
}
abstract class Person
{
String name;
public Person(){}
public Person(String name)
{
this.name=name;
}
public abstract void show();
}
class Student extends Person implements En
{
public void show()
{
System.out.println("En");
}
public void speak()
{
System.out.println("Cn");
}
}
class 接口
{
public static void main(String[] args)
{
Person p=new Student();
p.show();
//p.speak();接口不能被实例化,需创建子类对象。
Student s=new Student();
s.speak();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2