day10_面向对象第五天
1、包(掌握)
1、概念(掌握)
包就是文件夹,用于区分相同的类名
2、声明格式
package 包名1.包名2….;
package:是个关键字
3、带包的类的编译和运行
4、导包
import 报名1.包名2…;
5、package ,import ,class 的出现顺序(掌握)
package-->imoprt-->class
注意:
class 类名后面是大括号
import,package是关键字,不是类名
2、访问权限修饰符
1、private
2、默认
3、protected
4、public
2、访问修饰符汇总
|
修饰符 \ 元素
|
类本身
|
成员变量
|
成员方法
|
构造方法
|
|
private
|
内部类使用
|
Y
|
Y
|
Y
|
|
默认
|
Y
|
Y
|
Y
|
Y
|
|
protected
|
内部类使用
|
Y
|
Y
|
Y
|
|
public
|
Y
|
Y
|
Y
|
Y
|
|
static
|
内部类使用
|
Y
|
Y
|
|
|
abstract
|
Y
|
|
Y
|
|
|
final
|
Y
|
Y
|
Y
|
|
推荐
以后所有的类都用public修饰,并且在一个Java文件中只定义一个类
所有的成员变量用private修饰
所有的方法用public修饰(工具类和单例除外)
接口中所有的方法和成员变量把修饰写全
所有的构造方法用public修饰
3、内部类(掌握)
1、什么时候用(掌握)
2、内部类和继承的区别
1、内部类可以直接访问外部类 所有 成员
2、外部类想要访问内部类成员,必须内部类创建对象
3、内部类分类
1、成员内部类(掌握)
A、其他类如何使用该内部类?
外部类名.内部类名 变量名 = new 外部类构造方法.new 内部类构造方法;
private:一般就是为了安全
static:一般就是为了方便调用
B、注意问题
如果一个内部类含有静态方法,那么该内部类必须被静态修饰
如果一个类被定义为静态时,该类中可以没有静态方法
2、局部内部类(掌握)
定义在方法中的类
结论
局部内部类访问局部变量,该局部变量必须被final修饰,因为被final 修饰就变成常量,在方法区中,他的生命周期延长了
面试回答
….自己补全
4、匿名内部类
概念:没有名字的局部内部类 (掌握)
前提:必须存在一个类,抽象类或者接口(掌握)
格式: (掌握)
//重写类或者接口中的方法
//也可自定义方法
};
本质:其实就是继承了一个类或者实现了一个接口的匿名的子类对象(掌握)
无论是匿名内部类还是匿名对象,一般使用方式
1、只调用该类中的一个方法,这种情况一般该抽象类或者该接口只有一个抽象方法时使用
2、作为实际参数传递(一般该匿名对象或匿名内部类中的方法不超过3个)
局部内部类命名规则: 外部类$1第一级内部类$2第二级内部类$3第三级内部类.class,$后跟数字,数字与内部类对应的层级有关系
匿名内部类命名规则: 外部类$1.class,1代表外部类下的第几个内部类
总结:
$跟 类名 表示是成员内部类,
$后面跟 数字 是匿名内部类,且数字代表个数,
$后面跟 数字$类名 是局部内部类,数字表示层级
4、匿名内部类和匿名对象的区别(理解)
5、今天必须掌握的内容。以及常见的笔试题和面试题(学完这个就可以放心学习后面的知识了)
day10_面向对象第五天的更多相关文章
- SOLID面向对象的五个设计原则,留空待学习。
SOLID面向对象的五个设计原则对于开发人员非常重要,其身影在任何大中型软件项目中随处可见,建议必须掌握并灵活应用.此五原则分别为: 单一职责原则(Single Resposibility ...
- 是面向对象设计五个基本原则(SOLID)
单一职责原则 - 搜狗百科 https://baike.sogou.com/v51360965.htm 单一职责原则并不是一个孤立的面向对象设计原则,它是面向对象设计五个基本原则(SOLID)之一.这 ...
- js面向对象的五种写法
第一种: //第1种写法 function Circle(r) { this.r = r; } Circle.PI = 3.14159; Circle.prototype.area = functio ...
- java面向对象(五)之多态
多态 面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. ...
- 面向对象(五)--isinstance与issubclass方法、反射、内置方法(部分)、异常处理
一.isinstance与issubclass方法 1.isinstance是用来判断对象是否是某个类 isinstance(obj,class) 2.issubclass是用来判断一个类是否为另一个 ...
- Java 面向对象(五)
包装类 什么是包装类 在面向对象当中"一切皆对象".基本数据类型变量不是对象,比如 int a = 10; 当中就没有对象,所以就很矛盾.此时我们就可以对基本数据类型进行包装,把基 ...
- 面向对象(五)super
super方法只是为了执行继承父级的init方法,若要详细,请参考别人的博客 class a(object): def __init__(self): print("aINIT") ...
- PHP面向对象学习五 类中接口的应用
类中接口的应用 接口:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用 抽象类:1.类中至少有一个抽象方法.2.方法前需要加abstract 接口: 1.类中全部为抽象方法,抽象方法前不 ...
- java基础(十)面向对象(五)
这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是 ...
随机推荐
- linux copy
cp -ri 131115-6/* /web/www/attachment/ 把13这个文件夹下面所有的文件和文件夹复制到 /web/www/attachment cp -a a /web/ww ...
- CentOS 常用命令大全(2)
系统 # uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinf ...
- 斐波那契博弈(Fibonacci Nim)
问题: 有一堆个数为n(n>=2)的石子,游戏双方轮流取石子,规则如下: 1)先手不能在第一次把所有的石子取完,至少取1颗: 2)之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍. ...
- java之io之File类的list()方法过滤目录的使用
java的io的知识中,File类必须掌握.File类是对文件或者文件夹的封装.它本身并不能对所封装的文件进行读写,它封装的只是文件或文件夹的周边知识,比如 大小啦,创建日期啦,路径啦等等. 如果Fi ...
- iOS https(SSL/TLS)数据捕获
要捕获iPhone上的appstore的数据还真的没那么容易,以前介绍的那些使用代理手工导入证书的方法已经完全失效了,结果就是安装证书之后再打开appstore也无法正常的建立连接.按照我的分析其实是 ...
- bzoj 1997: [Hnoi2010]Planar
#include<cstdio> #include<cstring> #include<iostream> #define M 20005 #define N 20 ...
- Apache—DBUtils
简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影 ...
- ubuntu安装vim
1.安装 sudo apt-get install vim-gtk 2.安装完成之后,在命令行敲入vi,按“tab”键,可以看到,已经有vim命令的存在,安装成功. 3.配置 sudo vim /et ...
- HighAvailability和LoadBalancer
HighAvailability LoadBalancer 红帽RHCS lvs(三种工作 ...
- 配置Java环境-20160613
http://jingyan.baidu.com/article/870c6fc33e62bcb03fe4be90.html 1.安装JDK,参照目录 在D:\Program Files\ec ...