java面向对象 13 内部类

 

     内部类

  • 内部类就是在一个类的内部在定义一个类,比如,A类中定义类B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。

  • 1.成员内部类

  • 2.静态内部类

  • 3.局部内部类

  • 4.匿名内部类package Demo08;

//思想~
import Demo07.UserSeryice;
import demo06.Action;

public class Test
{
   public static void main(String[] args) {
       Apple apple=new Apple();
       //匿名类 不用将实例保存到变量中~
       new Apple().eat();
       
       UserSeryice userSeryice = new UserService()
      {
           public void hello()
          {
               
          }
      };
  }
}
class Apple
{
   public void eat()
  {
       System.out.println("1");
  }
   
}
interface UserService
{
   void hello();
}

 

  • 实例成员和类变量:

                         类成员用static修饰,不用static则声明的成员实例成员,实例变量可以通过

                         对象访问这些实例变量,实例方法通过一个实例来实现。

                   类变量:第一次调用类的时候,系统为该类变量分配内存,所有的对象共享了该类变量,

                                  因此,可以通过类本身(类名)或者某个对象来访问该类的变量

 

class A
{
   static int x;
   public void setX(int newx)
  {
       x=newx;
  }
   public int getX()
  {
       return x;
  }
}
public class As
{
   public static void main(String[] args) {
       A myx=new A();
       A anotherx=new A();
       myx.setX(1);
       anotherx.setX(2);
       System.out.println("myx="+myx.getX());//2
       System.out.println("anotherx="+anotherx.getX());//2
       System.out.println("类A的静态变量x的值为:"+A.x);//22
  }
}

        因为想为类变量,被该类的所有对象所共享,当对任意对象中调用setx时候,也就是改变该类所有对象

        共享的值。

  不同的类:1. 只能通过实例去访问另一个类的实例变量和方法。

                    2. 可以通过实例去访问另一个类的类变量或者类方法,也可以通过

                        类名去访问另一个类变量和方法。

posted @ 2022-04-24 20:59  zjw_rp  阅读(6)  评论(0编辑  收藏  举报