扫一扫,加我们为好友有惊喜哦~
-->

核心课程
开班动态
专题服务

您当前所在位置:首页 > 中心动态 >>
常州软件培训——内部类与匿名类的写法

1、多态:子类对象以父类的身份出现
优势:增强了程序传递参数的灵活性!
要求:多态不允许调用子类特有的方法!
虚方法调用:在多态形式中,调用方法时,会调用对象真正类型中的方法!

public class Animal
{
 public void play(){
   System.out.println("Animal play");
 }
}

class Dog extends Animal
{
 public void play(){
   System.out.println("Dog play");
 }

}

class Cat extends Animal
{
 public void play(){
   System.out.println("Cat play");
 }

}

class TestAnimal
{
  
   /**
     party:增强程序传递参数的灵活性
   */
   public static void party(Animal a){
      a.play();
   }
  
  
   public static void main(String[] args){
   Animal c = new Cat();
   Animal d = new Dog();
   Animal a = new Animal();
   TestAnimal.party(c);
   TestAnimal.party(d);
   TestAnimal.party(a);
 }

}

2、instanceof关键字
判断对象真正的类型Cat extends Animal Dog extends Animal
   boolean f1 = c instanceof Cat;//判断c是否是Cat类型
   boolean f2 = c instanceof Dog;//
   boolean f3 = c instanceof Animal;

要求:用instanceof关键字判断的对象之间一定要有继承关系!

3、内部类:将一个类写到另一个类的内部
/**
  类的定义
*/
public class Outer
{
 public void play(){
   System.out.println("Outer play");
 }

    /**
   内部类
 */
 class Inner
 {
  public void play(){
    System.out.println("Inner play");
  }
 }
}

class TestInner
{
 public static void main(String[] args){
    Outer o = new Outer();
    o.play();

    Outer.Inner inner = new Outer().new Inner();
    inner.play();
 }
}

4、匿名类
一些类在出现的时候没有名字,叫匿名类,匿名类一般出现在接口实现时!
public interface Inter
{
 public void play();
}

/**
  测试类
*/
class TestInter
{
 public static void main(String[] args){
    //匿名类
    Inter in = new Inter(){

      public void play(){
     System.out.println("实现了接口");
   }

    };

    in.play();
 }
}

5、myeclipse的用法
A、新建项目后需要在package中写类
package:包,对代码进行划分!
命名:一般为域名的反写!



返回顶部