类的高级特性

类的高级特性(一)

1.抽象类

抽象类只声明方法的存在而不去具体实现它的类。

a.抽象类不能被实例化。

b.抽象方法:抽象类中创建的,没有实际意义的,必须要由子类实现的方法。

关键字:abstract

语法格式:

abstract class Fruit {         //定义抽象类

      public String color ;     //定义颜色

      public Fruit(){              //定义抽象方法

            color = "绿色";    //对变量color进行赋值

      }

}

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

定义抽象方法 : public abstract void harvest () ;

2.内部类

作用:内部类可以直接存取其所在类的私有成员变量。

语法格式:

public class Outerclass{                //外部类

    private int i = 0 ;

    private void g() {

}

          private class Innerclass{     //内部类

                    g();

                    i++;

             }

}

图解:

内部类的实例一定要绑定在外部类的实例上。

如果在外部类中初始化一个内部类对象,那么内部类对象就会绑定在外部类对象上。

内部类初始化方式与其他类初始化方式相同,都是使用new关键字。

内部类与外部类关系图解:

              内部类对象与外部类对象关系非常紧密。

              内部可以交互使用彼此类中定义的变量。

如果在外部类和非静态方法之外实例化内部对象,需要使用“外部类.内部类”的形式。

如果外部类中定义的成员变量与内部类的成员变量名称相同,可以使用this关键字。

 

原文地址:https://www.cnblogs.com/Rookietake/p/5353885.html