1.接口

package com.yfs.javase;

public interface IDemo1 {//interface  接口

	public /*abstract*/ void method1();//默认抽象方法 public

}

class Child1 implements IDemo1 {

	@Override
public void method1() {
// 实现接口的方法
System.out.println("call method1()");
} }

2.接口示例1

package com.yfs.javase;

public interface IFly {

	public void fly();

}

3.实现接口

package com.yfs.javase;

public class Bird implements IFly {

	@Override
public void fly() {
System.out.println("鸟在飞...."); } }
class Wuya extends Bird {
@Override
public void fly() {
System.out.println("乌鸦在飞...."); }
} class Butterfly implements IFly { @Override
public void fly() {
System.out.println("蝴蝶在飞...."); } }

4.IRun接口

package com.yfs.javase;

public interface IRun {
int a = 10;//默认public static final
public void run(); }
/*public*/ interface ISwim { }
class Horse implements IRun { @Override
public void run() { System.out.println("马在跑..." + a); } }

5.接口多继承

package com.yfs.javase;
//接口可以多继承
public interface ITest extends IFly, IRun, ISwim { }

6.Person

package com.yfs.javase;

public class Person {

	private String name;
private int age;
private char sex; public Person() { } public Person(String name) {
this.name = name;
} public Person(String name, int age, char sex) {
this.name = name;
this.age = age;
this.sex = sex;
} public void introduce() {
System.out.println("I am Person....");
} public String toString() {
return "姓名:" + name + " 年龄 :" + age + " 性别:" + sex;
} public void speak() {
System.out.println(name + " 工作了吗?");
} public void sleep() {
System.out.println(name + " 睡觉了吗?");
} public void eat() {
System.out.println(name + " 吃了吗?");
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public char getSex() {
return sex;
} public void setSex(char sex) {
this.sex = sex;
} }

7.超人 继承 人,实现 IRun,IFly 接口

package com.yfs.javase;

public class SuperMan extends Person implements IRun, IFly {

	@Override
public void run() {
System.out.println("超人在跑...."); } @Override
public void fly() {
System.out.println("超人在飞..."); } }

8.接口 测试

package com.yfs.javase;

public class Test1 {

	public static void main(String[] args) {
IFly f1 = null;
// new IFly();//接口不能实例化
f1 = new Bird();
f1.fly();
f1 = new Butterfly();
f1.fly(); callMethod(new Wuya()); IRun r1 = new Horse();
r1.run(); callMethod(new SuperMan());
} public static void callMethod(IFly f) {
f.fly();
} }

9.测试2

package com.yfs.javase;

public class Test2 {

	public static void main(String[] args) {
SuperMan s1 = new SuperMan();
s1.setName("Tom");
s1.speak();
s1.run(); callMethod(new Horse());
callMethod(s1);
} public static void callMethod(IRun r) {
r.run();
}
}

java新手笔记21 接口的更多相关文章

  1. java新手笔记22 接口示例2

    1.USB package com.yfs.javase; public interface USB { //定义规范 public void read(); public void write(); ...

  2. JAVA自学笔记21

    JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...

  3. Java 学习笔记(7)——接口与多态

    上一篇说了Java面向对象中的继承关系,在继承中说到:调用对象中的成员变量时,根据引用类型来决定调用谁,而调用成员方法时由于多态的存在,具体调用谁的方法需要根据new出来的对象决定,这篇主要描述的是J ...

  4. Java学习笔记之接口

    一.接口的概念与定义 首先考虑一个简单的接口的定义: public interface Output { int MAX_LINE = 40; void out(); void getData(Str ...

  5. Java学习笔记 07 接口、继承与多态

    一.类的继承 继承的好处 >>使整个程序架构具有一定的弹性,在程序中复用一些已经定义完善的类不仅可以减少软件开发周期,也可以提高软件的可维护性和可扩展性 继承的基本思想 >>基 ...

  6. java新手笔记32 jdk5新特性

    1.for package com.yfs.javase; import java.awt.Color; import java.util.Calendar; import java.util.Has ...

  7. java新手笔记31 集合实现类

    Person类: package com.yfs.javase; import java.util.Date; public class Person implements Comparable { ...

  8. java新手笔记27 监听器类

    1.外部类监听 package com.yfs.javase; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  9. java新手笔记20 抽象类模板(letter)

    1.抽象类 package com.yfs.javase; //信模板 public abstract class Templater { public abstract String toName( ...

随机推荐

  1. bitset位图讲解

    bitset可以用来处理位图问题,用位可以大大减少占用的空间内存,但是位图问题适合处理不重复的,在一定范围内的整数问题.用两个位图可以处理只出现一次问题 #include <bitset> ...

  2. noip 2014 子矩阵

    先枚举行再DP列.好题,详见代码 #include <cstdio> #include <cstring> #include <cstdlib> #include ...

  3. HW5.19

    public class MyTriangle { public static boolean isValid(double side1, double side2, double side3) { ...

  4. nyoj 915 +-字符串

    +-字符串 时间限制:1000 ms  |  内存限制:65535 KB 难度:1   描述 Shiva得到了两个只有加号和减号的字符串,字串长度相同.Shiva一次可以把一个加号和它相邻的减号交换. ...

  5. AS3 IOC框架Spring Actionscript 的使用总结

    Spring Actionscript 是众多围绕依赖注入提供解决方案的Flex控制反转框架之一 AS3 下经典的IOC框架有Spring ActionScript.Parsley.Flicc和Swi ...

  6. JAVA之装饰者模式

    装饰模式又名包装(Wrapper)模式.装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 装饰模式的结构 装饰模式以对客户透明的方式动态地给一个对象附加上更多的责任.换言之,客户 ...

  7. 11.编写一个Java程序,计算半径为3.0的圆周长和面积并输出结果。把圆周率π定义为常量,半径定义为变量,然后进行计算并输出结果。

    package com.hanqi.yzljs; public class yzljs { public static void main(String[] args) {     final dou ...

  8. cocos2d-x 2.0 拖尾效果分析

    转自:http://game.dapps.net/gamedev/game-engine/7281.html 在Cocos2d-x中,拖尾效果有一个专门的类CCMotionStreak来实现.下面我们 ...

  9. Ubuntu 14.10安装SecureCRT 7.3

    Ubuntu 14.10下安装SecureCRT 7.3 1.软件准备 Ubuntu14.10 x64 SecureCRT7.3的版本:scrt-7.3.0-657.ubuntu13-64.x86_6 ...

  10. xml配置和基于java类的bean配置搭配使用

    如果同时使用了xml配置,和java类的bean配置(当然估计项目中一般不会这样), 在初始化容器指定资源文件的时候可能会比较麻烦 此时我们可以把基于java类的bean配置整合到xml中,或xml的 ...