前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java-权限修饰&内部类

Java-权限修饰&内部类

作者头像
DataScience
发布2020-05-07 18:28:28
4700
发布2020-05-07 18:28:28
举报
文章被收录于专栏:A2DataA2Data

4.8、权限修饰符

特点:(package

  • 可以由多层
  • 不同包下的文件名可以重复
  • 包的声明必须在第一行代码

包使用场景

类的全名: 包名.类名

同包: 相同包下的类可以直接访问,不需要做其他的操作 异包: 1、使用类的全名 2、使用关键字import将类导入 注意: * 代表的是通配符,代表导入了这个包下所有的类,并没有导入子包下的类

权限修饰符

pubilc —- 访问都是对外的

  • 当前类,相同包下不同的类,不同包下的类

default

  • 当前类,相同包下不同的类
  • 当前包下使用(与protected)区别

private

  • 仅限当前类

protected --- 数据保护

  • 当前类,相同包下不同的类
  • 让子类对象使用

4.9、内部类

成员内部类

1、在类的成员位置,和成员变量以及成员方法所在的位置是一样的 2、在内部类当中,可以直接访问外部类的成员,包括私有成员 修饰符:

  • 可以使用权限修饰符修饰成员内部类,但是如果使用私有来修饰,则无法在其他类中访问
  • 可以使用static 修饰成员内部类,不用再创建外部类对象

匿名内部类:

  • 必须在定义匿名内部类得时候创建它得对象
  • 格式:
    • new 类/接口(){
    • 实现这个类得子类对象,必须实现这个接口得所有方法
    • 实现这个类得子类对象,必须实现这个接口得所有方法
    • };
  • 原理:
    • 创建了继承这个类得子类对象或者创建了实现这个接口得子类对象

    应用场景:

  • 作为参数传递
代码语言:java
复制
package com.java;

/**
 * Created by JackFeng on 2020/3/15.
 */
public class InnerDemo {
    public static void main(String[] args) {

        Outer.Inner i = new Outer().new Inner();
        i.function();


    }
}


class Outer{
    private int num = 10;

    public void  method(){
        Inner i = new Inner();
        i.function();

    }

    class Inner{
        public void function(){
            // 私有成员 可以i直接访问
            System.out.println(num);
        }
    }

}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 4.8、权限修饰符
      • 包使用场景
      • 4.9、内部类
        • 成员内部类
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档