1.接口interface
public interface Interface
{
public abstract void output();//abstract关键字可省略
}
2.类可以实现接口
public class Test3
{
public static void main(String[] args)
{
MyClass myClass = new MyClass();
myClass.output();
myClass.output2();
myClass.output3();
}
}
interface MyInterface
{
public void output();
}
interface MyInterface2
{
public void output2();
}
class MyParent
{
public void output3()
{
System.out.println("output3");
}
}
class MyClass extends MyParent implements MyInterface, MyInterface2//继承父类,实现两个接口。一个类实现某个接口,该类必须实现接口中声明的所有方法;而抽象类则不需要。
{
public void output()
{
System.out.println("output");
}
public void output2()
{
System.out.println("output2");
}
}
3.多态
public class Test4
{
public static void main(String[] args)
{
AA bb = new BB();
bb.output();
BB bb = new BB();//向上类型转换
AA aa = bb;
bb.output();
AA aa = new BB();//向下类型转换
BB bb = (BB)aa;
bb.output();
}
}
interface AA
{
public void output();
}
class BB implements AA
{
public void output()
{
System.out.println("BB");
}
}
4.static关键字
public class StaticTest
{
public static void main(String[] args)
{
/*
MyStatic myStatic = new MyStatic();
MyStatic myStatic2 = new MyStatic();
myStatic.a = 10;
System.out.println(myStatic2.a);
*/
MyStatic myStatic = new MyStatic();
MyStatic.a = 10;//static的成员变量可通过【类名.成员变量】的方法来
System.out.println(myStatic.a);
}
}
class MyStatic
{
//int a;//结果为0
static int a; //结果为10。静态成员变量
}