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. Codeforces Round #343 (Div. 2) B. Far Relative’s Problem

    题意:n个人,在规定时间范围内,找到最多有多少对男女能一起出面. 思路:ans=max(2*min(一天中有多少个人能出面)) #include<iostream> #include< ...

  2. cloudstack安装篇3-SELinux配置、NTP时间同步、配置ClouStack软件库

    一.SELinux配置 为了让CloudStack正常工作,我们必须将SELinux设置为permissive.需要在当前系统运行状态下和启动后都能够生效,进行以下配置. 在系统运行状态下的将SELi ...

  3. 在win7的虚拟机中LINUX与winxp两客户机互通问题

    本人实际操作:两个虚拟机都选Host-Onl,查看主机VirtualBox Host-Only Network ip地址为192.168.56.1,那我让linux,windowsxp都让为该网址19 ...

  4. storm的设计思想

    storm的设计思想 在 Storm 中也有对流(Stream)的抽象,流是一个不间断的.无界的连续 Tuple(Storm在建模事件流时,把流中的事件抽象为 Tuple 即元组).Storm 认为每 ...

  5. JavaScript- The Good Parts Chapter 3 Objects

    Upon a homely object Love can wink.—William Shakespeare, The Two Gentlemen of Verona The simple type ...

  6. em与px之间的换算

    任意浏览器的默认字体高度16px(16像素).所有未经调整的浏览器都符合:1em=16px.那么12px=0.75em,10px=0.625em.为了简化font-size的换算,需要在css中的bo ...

  7. codis集群和redis cluster的优劣对比

    1.codis架构如下: (1)Codis是一整套缓存解决方案,包含高可用.数据分片.监控.动态扩态 etc..走的是 Apps->代理->redis cluster,一定规模后基本都采用 ...

  8. SecureCRT 终端仿真程序 v7.0.0.326 中文绿色便携破解版

    http://wd.jb51.net:81/201205/tools/SecureCRT_jb51.rar Secure CRT是一款支持 SSH2.SSH1.Telnet.Telnet/SSH.Re ...

  9. Yii2版本号新特性简单介绍

    Yii2 Beta版本号在今年4月份公布.眼下正在改动问题和完好文档中. Yii2要求PHP版本号不低于5.4,主要有例如以下改进: 1)支持PHP框架间协作组制定的PSR-4标准,这简化了文件夹并提 ...

  10. WPF WebBrowser

      XAML <Window x:Class="WpfApplication5.Window1"     xmlns="http://schemas.microso ...