JAVA面向对象进阶--内部类--2023/3/7

一.问题导航

1.类的五大成员
2.什么是内部类
3.什么时候用到内部类
4.内部类的特点
5.内部类的分类
6.获取成员内部类对象

二.初识内部类

1.类的五大成员

属性
方法
构造方法
代码块
内部类

2.什么是内部类

在一个类的里面,再定义一个类

3.什么时候用到内部类

B类表示的事物是A类的一部分,且B单独存在没有意义

4.内部类的特点

内部类表示的事务是外部类的一部分
内部类单独出现没有任何意义
内部类可以直接访问外部类的成员,包括私有
外部类要访问内部类成员,必须创建对象\
/**--------------------测试类---------------------
 * 内部类
 * 需求:写一个Javabean类描述汽车。
 * 属性:汽车的品牌,车龄,颜色,发动机的品牌,使用年限
 */
package com.cn.inter;
public class Test {
    public static void main(String[] args) {
        Car c =new Car();
        c.carBrand="奥迪";
        c.carAge=1;
        c.carColor="红色";
        c.show();
    }
}
//-------------Car类-----------------
package com.cn.inter;
public class Car {
    String carBrand;
    int carAge;
    String carColor;
    //方法里面有一个隐藏的this,当当前方法被调用的时候this才会有值
    //虚拟机会把调用者的地址值赋值给这里的this
    public void show(Car this)
    {
        Engine e=new Engine();
        System.out.println(carBrand);//外部类使用自己的成员变量
        //System.out.println(engineBrand);当外部类直接使用内部类的成员变量会报错
        System.out.println(e.engineBrand);
    }
    public class Engine {
        private String engineBrand;
        private int useAge;
        public void show() {
            System.out.println(engineBrand);//内部类使用自己的成员变量

            //内部类可以直接访问外部类的成员,包括私有
            System.out.println(carBrand);//内部类使用外部类的成员变量
        }

    }
}

三.成员内部类

1.内部类的分类

成员内部类

写在成员位置,类中方法外,属于外部成员

修饰成员变量的都可以用来修饰成员内部类

静态内部类用static关键字修饰的内部类
局部内部类(写在方法里)
匿名内部类(没有名字)

2.获取成员内部类对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值