Java--继承和接口

Test1--继承

Fu.java

public class Fu {

int i=1;

}

Zi.java

public class Zi extends Fu { //继承父类Fu的属性(int i)和方法(public void show())

int i=2;

public void show() {

int i=3;

System.out.println(i);        //就近

System.out.println(this.i);  //自己的

System.out.println(super.i);  //父类的

}

}

Test.java

public class Test {

public static void main(String[] args) {

Zi s = new Zi();

s.show();

Fu f = new Zi();  //多态,父类变量使用子类的方法

f.show();

}

}

结果:

3

2

1

3

2

1

 

 

Test2--重写

/*

 * 重载:名字一样,参数列表,返回值类型不同

 * 重写:什么都一样,子类重写权限必须大于父类

 * public>protected>default(默认,不能写)>private

 */

 

 

Test3--抽象类

Develop.java

/*

 *  定义类,JavaEE开发员

 *  继承抽象类Develop,重写抽象的方法

 */

public class EE extends Develop{

//重写父类抽象方法

public void work() {

System.out.println("JavaEE工程师在开发B/S软件");

}

}

 

Android.java

public class Android {

//重写父类抽象方法

public void work() {

System.out.println("Android工程师在开发手机软件");

}

}

 

Test3.java

/*

 * 测试抽象类

 *   创建他的子类对象,使用子类对象调用方法

 */

public class Test3 {

public static void main(String[] args) {

EE ee = new EE();

Android an = new Android();

ee.work();

an.work();

}

}

 

Test4--接口

MyInterface1.java

/*

 * 定义接口

 *   使用关键字 interface

 * 接口定义:

 *   成员方法都是抽象的,不能定义带方法体的方法

 *

 * 定义抽象方法:固定格式

 *  public abstract 返回值类型 方法名(参数列表);

 *   修饰符写或不写都是public,但不可写别的

 *

 * 接口中成员变量的定义

 *   必须定义为常量

 *   格式:

 *   public static final 数据类型 变量名 = 值

 *   public  权限

 *   static  可以被类名直接.调用

 *   final   最终固定的变量

 */

public interface MyInterface1 {

//定义抽象方法

public abstract void function1();

//常量被静态修饰,可以直接被接口的名字调用

public static final int x = 3;

}

MyInterface2.java

public interface MyInterface2 {

public abstract void function2();

}

MyInterfaceImpl.java
 

/*

 * 定义一个类,实现接口,重写接口中的抽象方法

 * 创建实现类对象

 *

 * 新的关键字 implements

 */

public class MyInterfaceImpl implements MyInterface1,MyInterface2 {

//抽象方法必须全重写

public void function1() {

System.out.println("实现类,重写类接口111方法");

}


public void function2() {

System.out.println("实现类,重写类接口222方法");

}

}


Test4.java
 

/*

 * 可继承(一个)和接口(多个)同时实现

 * 一个接口可以继承多个接口

 */

public class Test4 {

public static void main(String[] args) {

System.out.println(MyInterface1.x);


//创建接口的实现对象

MyInterfaceImpl my = new MyInterfaceImpl();

my.function1();

my.function2();

}

}

 

你可能感兴趣的:(Java)