点击(此处)折叠或打开
- package com.pp;
-
- public class StaticFinal
- {
- static int a =9 ;//成员变量:static成员变量,也叫静态成员变量.可以通过类名使用这个成员变量
-
- public static void main(String[] args)
- {
- // TODO Auto-generated method stub
- BB bb = new BB();
- bb.output();
- AA bbb = new BB();//接口类型的多态:接口类型的引用指向了实现了接口的BB类的实例
- bbb.output();
- /*
- * 多态:父类型的引用可以指向子类型的实例,或者接口类型的引用可以指向实现该接口的类的实例,
- * 关于接口和实现该接口的类的之间的强制转换关系和父类和子类的强制转换关系一样。
- * 抽象类是一种特殊的父类,可以有构造方法,不能被实例化,但是可以有具体方法和抽象方法。
- * 接口是一种特殊的抽象父类,不能有构造方法,不能被实例化,所以不会消耗内存。
- */
-
-
- /**
- * static关键字:可以用在属性、方法、类上。
- * static修饰成员变量:标示这个类不管生成了多少个对象,这多个对象共同使用这一个static所修饰的属性.
- * 可以通过类名使用这个静态成员变量
- * 静态成员变量具有单独的内存区域。java推荐使用类名直接访问静态成员变量
- */
- StaticFinal ss01 = new StaticFinal();
- StaticFinal ss02 = new StaticFinal();
- ss01.a = 10;
- System.out.println(ss02.a);
- StaticFinal.a = 89;
- System.out.println(ss02.a);
- System.out.println(ss01.a);
-
- }
-
- }
- interface AA //接口是一种特殊的抽象父类,不能有构造方法,只能写抽象方法
- {
- public void output();
- }
-
- class BB implements AA
- {
- public BB()
- {
- super();//其实是调用java.lang.object的构造方法
- }
- public void output()
- {
- System.out.println("BB");
- }
- }