| 
 
| 本帖最后由 王德升 于 2012-6-30 10:16 编辑 
 第一段。
 abstract class Student
 {
 public abstract void study();
 
 public void sleep()
 {
 System.out.println("躺着睡觉");
 }
 }
 
 class DoStudent
 {
 public void funcation(Student stu)
 {
 stu.study();
 
 stu.sleep();
 }
 }
 
 class BaseStudent extends Student
 {
 public void study()
 {
 System.out.println("base study");
 }
 
 public void sleep()
 {
 System.out.println("坐着睡觉");
 }
 }
 
 class AdvanceStudent extends Student
 {
 public void study()
 {
 System.out.println("advance stuay");
 }
 }
 
 class DuoTaiDemo
 {
 public static void main(String[] args)
 {
 /*
 new BaseStudent().study();// 1,
 new BaseStudent().sleep();//这里这样调用的话和1,是不是一个new BaseStudent()???
 */
 
 new DoStudent().funcation(new BaseStudent());
 
 //DoStudent ds = new DoStudent();
 
 //ds.funcation(new BaseStudent());
 }
 }
 
 
 
 
 第二段。
 class InnerTest
 {
 public static void main(String[] args)
 {
 Test.function().method();
 }
 }
 
 
 interface Inter
 {
 void method();
 }
 
 class Test
 {
 //补足代码。通过匿名内部类。
 /*
 static class Inner implements Inter
 {
 public void method()
 {
 System.out.println("method run");
 }
 }
 */
 
 static Inter function()
 {
 return new Inter()//为什么这里返回的是new Inter?上面的Inner不是静态的吗?那怎么还可以new呢?好,我明白了,但是
 //为什么不可以返回Inner呢?静态不是可以用类名直接调用吗?内部类局部不可以定义静态?
 {
 public void method()
 {
 System.out.println("method run");
 }
 };
 }
 
 }
 
 第三段。
 
 class Fu
 {
 boolean show(char a)
 {
 System.out.println(a);
 return true;
 }
 }
 class Demo extends Fu
 {
 public static void main(String[] args)
 {
 int i=0;
 Fu f=new Demo();
 Demo d=new Demo();
 for(f.show('A'); f.show('B')&&(i<2);f.show('C'))
 {
 i++;
 d.show('D');
 }
 }
 boolean show(char a)
 {
 System.out.println(a);
 return false;//这里return fasle对该程序的运行没有什么阻碍吗?  在打印一个A之后独到return false没有影响? 然后在独到f.show('B')
 打印个B之后,是假所以程序结束了。我的问题是为什么在打印A之后程序读到false是怎么一回事呢?希望具体点。
 }
 }
 
 
 第四段。
 
 interface A{}
 class B implements A
 {
 public String test()
 {
 return "yes";
 }
 }
 class Demo
 {
 static A get()
 {
 return new B();
 }
 public static void main(String[] args)
 {
 A a=get();//这是怎么调用的,求详细解释。直接可以指向???
 System.out.println(a.test());
 }
 }
 
 
 
 第五段。
 class Demo
 {
 int show(int a,int b){return 0;}
 }
 下面那些函数可以存在于Demo的子类中。
 
 
 private int show(int a,long b){return 0;}//可以,和父类不是一个函数。没有覆盖,相当于重载。
 
 这个可以?? private修饰,权限够??如果这个可以下面的又算什么呢。
 
 B.private int show(int a,int b){return 0;}//不可以,权限不够。
 | 
 |