什么是java中的封装
1、封装的概念:隐藏信息、隐藏具体的实现细节。

2、封装的实现步骤

1)修改属性的可见性,private。
2)创建修改器方法访问器方法,getXXX/setXXX。(未必一定要写,可以完全隐藏起来,仅供内部使用 )
3)对属性的合法性进行判断。例如:Jframe.setSize(a , b)中的参数不能无限大,如果太大就设置为默认值。

使用包管理 Java 中的类
1、包的命名规范是全小写。

Java 中的访问修饰符
1、private:仅自己的方法可以直接访问。

2、friendly:(隐式、默认)本类和同包类可直接访问。

3、protected:在friendly的基础上补充了子类可直接访问(可直接访问的意思是子类可以super.field或者super.method?)。

4、public:所有类都可以直接访问。(new a().public field)

Java 中的 this 关键字

什么是 Java 中的内部类
1、概念:Inner Class就是定义在一个类里面的类。

2、意义:一是提供更好的封装,二是有时候相对外部类用起来更方便。
对外部类而言,可以把内部类隐藏起来(自己用,但也不是直接使用),而不被包中的其它类访问;
对内部类本身而言,可以使用外部类的所有数据,私有的也可以!

3、具体实现:

//外部类HelloWorld
public class HelloWorld { // 内部类Inner,类Inner在类HelloWorld的内部
public class Inner { // 内部类的方法
public void show() {
System.out.println("welcome to imooc!");
}
} public static void main(String[] args) { // 创建外部类对象
HelloWorld hello = new HelloWorld();
// 通过外部类对象调用内部类构造方法来创建内部类对象
Inner i = hello.new Inner();
// 调用内部类对象的方法
i.show();
}
}

Java 中的成员内部类
1、内部类中最常见的就是成员内部类,也称为普通内部类

2、位置:成员变量的位置。

3、无法直接new内部类对象,必须通过外部类对象创建。

4、编译后除了产生Outer.class还会生成一个Outer$Inner.class。

5、需要在类内创建内部类对象才可以调用内部类的方法、属性。

6、内部类访问外部类的成员变量或者方法。
变量不同名的情况:直接使用变量a、b
内部类和外部类具有同名变量的情况:b访问内部类的b,而Outer.this.b访问外部类的b。

Java 中的静态内部类
1、静态内部类不能直接访问外部类的非静态变量,但是可以通过new 外部类().成员的方式访问。

2、如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员。

3、特点:创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名= new 内部类();

Java 中的方法内部类
1、概念:方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用

2、一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

《Java入门第二季》第二章 封装的更多相关文章

  1. Java入门 第一季第二章 变量和常量

    这是我学习慕课网Java课程的笔记.原视频链接为:http://www.imooc.com/learn/85 2-1 Java中的keyword PS:Javakeyword区分大写和小写 2-2 认 ...

  2. JAVA入门第一季(mooc-笔记)

    笔记相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第一季 ...

  3. Java入门第一季学习总结

    一.课程总概 这门课程的学习难度属于入门级别,又由于有c++的基础,所以学习这门课程也是比较轻松的.可以简单地把这门课的学习分为四部分:第一部分,java的介绍(第一章):第二部分,java的数据类型 ...

  4. 《java入门第一季》之Arrays类前传(排序案例以二分查找注意的问题)

    根据排序算法,可以解决一些小案例.举例如下: /* * 把字符串中的字符进行排序. * 举例:"dacgebf" * 结果:"abcdefg" * * 分析: ...

  5. 《java入门第一季》之面向对象(内部类到底在哪里?)

    /* 内部类概述: 把类定义在其他类的内部,这个类就被称为内部类. 举例:在类A中定义了一个类B,类B就是内部类. 内部的访问特点: A:内部类可以直接访问外部类的成员,包括私有. B:外部类要访问内 ...

  6. Java入门第一季

    慕课网:http://www.imooc.com/learn/85 Java入门知识第一季 1.Java开发环境和IDE的使用: 2.变量和常量 3.常用的运算符 4.流程控制语句 5.数组:使用Ar ...

  7. Java入门第一季——从此投身Java??

    找工作告一段落. 最后的工作呢,和java紧密相关,也是阴差阳错,不过都是软件开发,都好了,不过以后侧重点肯定是在java这边,php有机会还是一直学下去的,那么美的说~ Java开发第一季  一.简 ...

  8. JAVA入门第二季 第一章 类和对象

    面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...

  9. Java入门第二季第一章类和对象知识点

    Java 中的 static 使用之静态方法 1. 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员.如: 如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问 ...

  10. 《Java入门第三季》第二章 认识 Java 中的字符串

    什么是 Java 中的字符串.1.在Java的世界里,字符串被作为String类型的对象处理. 2.通用的初始化的方式:String s = new String("i love you & ...

随机推荐

  1. vuejs开发环境搭建

    前言:现在前端最火的是3个框架:react,vue,angular.可以说着是哪个框架大大改变了前端的地位.相对于angular来说.vue同样拥有丰富的指令,并且都是典型的MVC框架,但是vue比较 ...

  2. JS-cookie封装

    智能社学习笔记 <script type="text/javascript"> /*****设置cookie*****/ function setCookie(name ...

  3. Egret打包App Android热更新(4.1.0)

    官网教程:http://developer.egret.com/cn/github/egret-docs/Native/native/hotUpdate/index.html 详细可看官网教程,我这里 ...

  4. virgo-tomcat访问日志的详细配置

    Tomcat 日志信息分为两类:1.运行中的日志,它主要记录运行的一些信息,尤其是一些异常错误日志信息.2.访问日志信息,它记录的访问的时间.IP.访问的资料等相关信息. 关于tomcat访问日志的产 ...

  5. oracle如何四舍五入?

    转自:http://www.jb51.net/article/84924.htm 取整(向下取整): 复制代码代码如下: select floor(5.534) from dual;select tr ...

  6. spring的AOP个人理解和使用

    1什么是AOP:AOP是面向切面编程,也就是说面向某个功能模块编程,典型的应用就是Spring的声明式事务, Spring的AOP事务解析: 在以前的事务管理是要融合在逻辑代码中的,在逻辑代码中决定事 ...

  7. 解析导航栏的url

    前段时间做ui自动化测试的时候,导航栏菜单始终有点问题,最后只好直接获取到url,然后直接使用driver.get(url)进入页面: 包括做压测的时候,比如我要找出所有报表菜单的url,这样不可能手 ...

  8. Servlet------>request和response控制编码乱码问题

    我在request篇和response都有提到,觉得会忘记,所以从新整理一下 request细节四----->通过request控制编码问题 第一种方式是通过设置------>reques ...

  9. HDU_5517_Triple

    Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  10. ES6基础教程(整理自阮一峰)

    ------------------------ECMAScript 6 简介------------------------ECMAScript 和 JavaScript 的关系是,前者是后者的规格 ...