java面向对象 13 内部类
内部类
-
内部类就是在一个类的内部在定义一个类,比如,A类中定义类B类,那么B类相对A类来说就称为内部类,而A类相对B类来说就是外部类了。
-
1.成员内部类
-
-
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. 可以通过实例去访问另一个类的类变量或者类方法,也可以通过