访问修饰符                          同包                          不同包

本类         子类         非子类        子类          非子类

private         是            否             否            否              否

默认             是            是             是            否              否

protected     是            是             是            是              否

public          是             是             是            是              是

总结:set/get方法封装体现:

1、可以只提供get或者set方法,把属性变为只读或者只写。

2、get方法可以提供权限的验证,set方法可以提供数据的有效性效验。

3、可以隐藏内部属性的存放形式。

static关键字:

1、凡是static修饰的,都与对象无关,都是类级别的。

2、凡是static修饰的,都会在加载期有特殊处理。

初始化块

实例初始化块{}

在new对象的时候,自动被执行,在第三步之前执行,即对属性进行自己构造操作的初始化之前。

静态初始化块  static{}

该代码块在加载类文件的时候就被执行,一个类只加载一次,所以静态初始化块也只执行一次。所以很多打开资源、开启链接的预加载动作可以写到静态初始化块中。

类的高级属性:

内部类:成员内部类(特例:静态内部类)、局部内部类(特例:匿名内部类)。

所有的内部类都是一个独立的类,都拥有各自的属性、行为、构造等等。

成员内部类:class文件:外部类类名$内部类类名.class

1、位置:直接写在外部类当中。位置与属性、方法、构造等平行。

2、可以有访问修饰符,代表该类能否被外部的类调用。

3、不管是什么访问修饰符,本类(外部类)都可以访问使用。

4、在外部使用成员内部类,首先产生外部类对象,然后用特殊语法对象.new的方式产生内部类对象。

5、在外部使用静态内部类,可以用外部类类名.的方式直接访问操作,无需产生外部类对象。

6、成员内部类调用外部类的属性和方法:Outclass.this.外部的属性和方法。

7、静态内部类调用外部类的属性和方法:Outclass.外部的静态属性和方法。

局部内部类:class文件:外部类类名$序号内部类类名.class

1、位置:直接写在外部类的方法当中,其位置和局部变量平行。

2、没有访问修饰符,只能在定义的外部类方法中使用。

3、使用的时候直接产生局部内部类。

4、局部内部类不能操作它所在方法的局部变量(非常特殊)。

4——1形参(final int e)改变形参的形式可以在局部内部类中访问。

4——2(int e){a=e;}a为成员变量,可以间接操作。

5、匿名内部类的class文件:外部类类名$序号.class

6、匿名内部类在产生对象的同时定义这个类,只能用一次。

7、匿名内部类不能操作它所在方法的局部变量。(非常特殊)

匿名内部类举例:

new Object(){

public void introduce(){

System.out.println("***");

}

}.introduce;

day13 类的补充的更多相关文章

  1. C++笔记006:关于类的补充

    原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ 关于类的补充: 类是一个数据类型(固定大小内存块的别名),定义一个类,是一个抽象的概念,不会给你分配内存,用数据类型定义变量的时候,才会分 ...

  2. python day 11: 类的补充,元类,魔法方法,异常处理

    目录 python day 11 1. 类的补充 1.1 通过反射来查找类,创建对象,设置对象的属性与方法 1.2 类的魔法方法:getitem,setitem 1.3 元类__metaclass__ ...

  3. 03OC的类的补充

    上一章我们介绍了类的定义,以及类的里面如何定义成员变量,如何定义方法等等. 一.self关键字 1.在C#中有关键字this表示当前对象,其实在OC中也有类似的关键字self,只是self关键字不仅表 ...

  4. Spring框架 全注解annotation不使用配置文件(SpringConfiguration.java类代替) 补充 xml配置文件没有提示解决

    全注解不使用配置文件 首先还是倒包 在原有的jar包: 需Spring压缩包中的四个核心JAR包 beans .context.core 和expression 下载地址: https://pan.b ...

  5. CSS3结构类选择器补充

    :empty 没有子元素(包括文本节点)的元素 :not  否定选择器 <!DOCTYPE html> <html lang="en" manifest=&quo ...

  6. idea 新建java类自动补充创建人,创建时间,版本等..

    1.先进入 File 2.进入 Editor 找到 File and Code Templates 并点击 3.右侧点击 lncludes  4.第二项 File Header  /** * @aut ...

  7. UML从需求到实现---类图(2)

    上节写到了UML中的类图:UML从需求到实现---类图(1) 写完以后总觉得写的不够详细.里面很多细节没有说到.一篇文章就把强大的面向对象的类说完.当然是不可能的.这次我再补充一些关于UML中类图和类 ...

  8. C++类(Class)总结

    ---恢复内容开始--- 一.C++类的定义     C++中使用关键字 class 来定义类, 其基本形式如下:class 类名{ public: //行为或属性  protected: //行为或 ...

  9. JAVA不可变类与可变类、值传递与引用传递深入理解

    一个由try...catch...finally引出的思考,在前面已经初步了解过不可变与可变.值传递与引用传递,在这里再次深入理解. 1.先看下面一个try..catch..finally的例子: P ...

随机推荐

  1. Chapter 3 软件项目管理

    软件项目具有产品的不可见性.项目的高度不确定性.软件过程的多变化性.软件人员的高流动性的显著特征.有效的软件项目管理集中于人员.产品.过程和项目四个方面.软件项目的生命周期有项目启动.项目规划.项目实 ...

  2. 猫咪记单词——NABCD模型分析

    N ——Need 需求:学习英语是一件非常重要的事.面对各种各样的考试,学习英语,最重要的就是词汇量,背单词是提高词汇量的最直接的方法,但是单纯的背单词太单调.寻找一些合适的,更易于接受的背单词学习英 ...

  3. 2018软工实践—Beta冲刺(1)

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Beta 冲鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调组内工作 调试服务器性能 展示GitHub当日代码/文档签入记录(组内 ...

  4. Leetcode题库——17.电话号码的字母组合

    @author: ZZQ @software: PyCharm @file: letterCombinations.py @time: 2018/10/18 18:33 要求:给定一个仅包含数字 2- ...

  5. ssh框架配置数据源 数据库连接没有正常释放

    通过多天的改bug 对数据源这个东西了解多了..    我发现 spring+hibernate下  申请数据库连接是在一个action方法内  也就是说  action 里面有三个 service方 ...

  6. Unity3D游戏开发——收集当前关卡游戏中分散的物件

    运用场景 许多游戏中会有一些供玩家拾起的物件,例如装备.血包.道具等.当玩家与物件进行碰撞后,则会进入仓库. 本篇介绍了简单的碰撞过程. 原理 基本的碰撞机制,用到OnTriggerEnter()碰撞 ...

  7. iOS 怎么自定制推送声音呢?(APP运行时和APP进入后台时)

    说明: 一般如果修改了apple官方的推送声音后,则APP进入后台后,推送会播放开发者自定制的推送声音,而用户在使用APP(也就是APP运行时)的时候,一般是不会有推送声音,因为此时的推送内容已经呈现 ...

  8. 用css 实现凹陷的线条

    box-shadow: 0 1px 0 rgba(255,255,255,0.2) inset,0 -1px 0 rgba(0,0,0,.2) inset; 因为颜色为透明颜色,所以颜色是什么样的,不 ...

  9. [2017BUAA软工]第1次个人作业

    软工第1次个人作业 一.快速看完整部教材,列出你不懂的5-10个问题,发布在你的个人博客上. 1.文中提到"积累问题领域的知识和经验(例如:对医疗或金融行业的了解)."然而我们如何 ...

  10. pxe前期网络准备

    核心交换机:[H3C12510-HEXIN]vlan 3010 //如果存在则不需要创建[H3C12510-HEXIN]dis interface Bridge-Aggregation brief / ...