关于接口的基本知识
2010-05-21 22:34
281 查看
package basic;
/*
* 1.接口是抽象方法和常量值的定义的集合
* 2.接口是一类特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
*/
public class InterfaceTest {
void f(Singer s){
s.dance();
s.sing();
}
public static void main(String[] args) {
Singer a = new Students("lili");
Singer t = new Teacher("titi");
a.sing();
a.dance();
t.sing();
t.dance();
Paint p = (Paint)t;
p.eat();
p.paint();
//6.以下是多态,接口与实现类之间存在多态性
InterfaceTest inter = new InterfaceTest();
inter.f(a);
inter.f(t);
}
}
interface Singer {
//3.接口中只能定义抽象方法,方法默认是(也只能是)public的,
//3.属性默认是(也只能是)public static final 的,写不写都可以
public abstract void sing();
public abstract void dance();
}
interface Paint {
public abstract void paint();
public abstract void eat();
}
class Students implements Singer {
String name;
Students(String _name){
name = _name;
}
public void study(){
System.out.println("students study");
}
public void dance() {
System.out.println("students dance");
}
public void sing() {
System.out.println("students sing");
}
}
class Teacher implements Singer,Paint {
String name;
public Teacher(String name) {
this.name = name;
}
public void teach(){
System.out.println("teacher teach");
}
public void eat() {
System.out.println("teacher eat");
}
public void paint() {
System.out.println("teacher paint");
}
public void dance() {
System.out.println("teacher dance");
}
public void sing() {
System.out.println("teacher sing");
}
}
/**
* 4.多个无关的类可以实现同一个接口; 如以上的Students实现了Singer接口,Teacher也实现了
* 5.一个类可以实现多个无关的接口; 如以上的Teacher 既实现了Singer接口,又实现了Paint接口
*
*/
/*
* 1.接口是抽象方法和常量值的定义的集合
* 2.接口是一类特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
*/
public class InterfaceTest {
void f(Singer s){
s.dance();
s.sing();
}
public static void main(String[] args) {
Singer a = new Students("lili");
Singer t = new Teacher("titi");
a.sing();
a.dance();
t.sing();
t.dance();
Paint p = (Paint)t;
p.eat();
p.paint();
//6.以下是多态,接口与实现类之间存在多态性
InterfaceTest inter = new InterfaceTest();
inter.f(a);
inter.f(t);
}
}
interface Singer {
//3.接口中只能定义抽象方法,方法默认是(也只能是)public的,
//3.属性默认是(也只能是)public static final 的,写不写都可以
public abstract void sing();
public abstract void dance();
}
interface Paint {
public abstract void paint();
public abstract void eat();
}
class Students implements Singer {
String name;
Students(String _name){
name = _name;
}
public void study(){
System.out.println("students study");
}
public void dance() {
System.out.println("students dance");
}
public void sing() {
System.out.println("students sing");
}
}
class Teacher implements Singer,Paint {
String name;
public Teacher(String name) {
this.name = name;
}
public void teach(){
System.out.println("teacher teach");
}
public void eat() {
System.out.println("teacher eat");
}
public void paint() {
System.out.println("teacher paint");
}
public void dance() {
System.out.println("teacher dance");
}
public void sing() {
System.out.println("teacher sing");
}
}
/**
* 4.多个无关的类可以实现同一个接口; 如以上的Students实现了Singer接口,Teacher也实现了
* 5.一个类可以实现多个无关的接口; 如以上的Teacher 既实现了Singer接口,又实现了Paint接口
*
*/
相关文章推荐
- 关于接口的基本知识01
- 关于linux图形界面的基本知识 linux、X、Xfree86、KDE、gnome之间的关系
- Java集合框架的知识总结(1) 说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 1、综述 所有集合类
- 【Clojure 基本知识】 关于函数参数的各种高级用法
- 关于OC中成员变量,属性的一些基本知识(针对初学者)
- 关于Eclipse中的一些基本知识
- 关于多态的基本知识
- 关于abstract的基本知识
- 关于linux图形界面的基本知识
- 关于51单片机的一些基本知识
- Hadoop学习笔记(五):一些关于HDFS的基本知识
- 21.1 关于库的基本知识
- UART接口基本知识
- C语言中关于数组、指针以及函数的一些基本知识
- C 语言 关于 宏 中的 # 和 ## 基本知识
- 整理的关于Java中基本的知识——链接——过段时间要整理
- 关于iphone定位的基本知识
- 关于SQL SERVER 2000的一些基本知识(1)——简单的SQL语句
- 关于channel和chaincode的基础知识+基本测试
- 关于数组的基本知识