04面向对象-内部类/访问修饰符/final

1.static的介绍

static:关键字,静态的

static的作用是用来修饰类中的成员

2.访问一个类中的某一个成员变量

方法一:

_1.创建对象

_2.通过对象调用成员变量

3.如果一个类的成员变量static修饰,那么想访问这个成员

直接通过类名.成员变量名

什么时候的成员变量需要static修饰?

_如果这个成员不属于某一个对象,而是属于所有对象共有的,那么需要加上static修饰

static修饰的成员变量/成员方法的使用

1.建议直接用类名调用

_类名.静态成员变量

_类名.静态成员方法(参数)

_也可以通过对象,不建议

非静态成员变量/成员方法需要创建对象来调用


final

final:最终的,中技的 黑客–>(红客,骇客) 黑鹰基地

final可以修饰: _类,成员变量,局部变量(基本类型,引用类型),成员方法

1.final修饰类(太监类):不能被继承,但是可以被做为其他的类的子类

2.final修饰成员变量:

2.1被final修饰的成员变量,必须在创建对象之前有确定的值

2.2被final修饰的成员变量,只能赋值一次

3.final修饰成员方法(最终的方法):

不能被子类重写

4.final修饰基本类型局部变量:

被final修饰的基本类型局部变量,只能被赋值一次

5.final修饰引用类型的局部变量:

被final修饰的引用类型局部变量只能赋值一次

但是引用类型所指向的对象中内容是可以改变


1.包本质是什么?

包的本质就是文件夹,在包名中是以.来区分上下级文件夹关系

2.为什么要用包?

分类管理文件

3.包的声明:

格式:package 包名

作用:只是 某个类 在哪个包下

包的声明必须与类实际位置保持一致

4.包的导入

用来告诉编译器,我们要使用的类在哪一个包下

5.全限定类型

格式:包名.类名

比如package Exercise.PackageDemo;


java中有四个权限修饰符

public:(公共)

protected:(受保护的)

default:(默认,不写就是default)

private:(私有的)

public  protected 不写(default)  private

如果一个成员只想在本类中使用  用private修饰***

如果一个成员只想在本类中和本包的其他类中使用  不写修饰

如果一个成员只想在本类中使用和本包中使用或者其他包的子类中使用   用protected修饰

如果一个成员想在所有类中都可以使用  用public修饰****


内部类:

根据内部类定义位置不同的分类:

a.成员内部类:定义类中方法外

在其他类中如何创建该类的对象

固定格式:

外部类名.内部类名 变量名 = new 外部类().new 内部类();

b.局部内部类:定义方法中

在其他类中,是无法使用

只能局部位置使用


匿名内部类:

是一种特殊语法,用来快速创建抽象类的子类对象

也可以快速创建接口的实现对象

a.作用:

快速创建 抽象类的子类对象,接口的实现类对象.

b.格式:

第一种:

new 抽象类(){

//重写抽象类中所有的方法

};

第二种

new 抽象类(){

//重写抽象类中所有的方法

}.重写后的方法();

第三种

接口类型  变量名 = new 接口(){

//重写接口中所有的方法

};

不用匿名内部类:

问题1:给你一个抽象类,要求创建该类的子类对象

分三步:1.创建子类,继承抽象方法

2.创协抽象类中的所有抽象方法

3.new 子类


类作为方法的参数或返回值

我们需要传递的或者返回的,应该该类的对象(不是该类,也不是别的类的对象)


静态代码块

代码块,在成员位置 使用大括号括起来的一堆代码

public class Person{

//静态代码块

static{

代码块

}

public void show(){ }

}

特点:

1.当我们使用到一个类时,那么这类中的静态代码块自动执行

2.只会执行一次,第一次使用该类,就立刻执行

3.在同一个类中,静态代码块的优先级很高,比构造方法优先,比main方法优先

4.作用:

用来初始化类中某些功能(mysql的数据库驱动的加载)


Java学习笔记:04面向对象-内部类_访问修饰符_final的更多相关文章

  1. Java学习笔记:03面向对象-接口_多态

    1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...

  2. Java学习笔记(4)----Public,Protected,Package,Private修饰符可见性

    Java修饰符类型(public,protected,private,friendly) public的类.类属变量及方法,包内及包外的任何类均可以访问:protected的类.类属变量及方法,包内的 ...

  3. java学习笔记12(final ,static修饰符)

    final: 意思是最终的,是一个修饰符,有时候一个功能类被开发好了,不想被子类重写就用final定义, 用final修饰的最终数据成员:如果一个类的数据成员用final修饰符修饰,则这个数据成员就被 ...

  4. Java学习笔记之---面向对象

    Java学习笔记之---面向对象 (一)封装 (1)封装的优点 良好的封装能够减少耦合. 类内部的结构可以自由修改. 可以对成员变量进行更精确的控制. 隐藏信息,实现细节. (2)实现封装的步骤 1. ...

  5. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  6. Java学习笔记之面向对象

    面向对象概念 面向对象编程 &面向过程编程 面向对象:关心是谁来做 面向过程:关心的是怎么做 面向对象总结成一句话:就是分工与协作,干活的是对象 生活中: 对象 -----抽象-------- ...

  7. 【原】Java学习笔记017 - 面向对象

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 继承关系中的pri ...

  8. 面向对象_访问修饰符_构造与析构函数_this指针

    1:面向对象 以codeblocks举例,在一个工程里面: File-->new -->Class可以建一个类,可以设置类的参数,是否有set get方法,有无构造函数等设置,.h文件主要 ...

  9. Java面向对象入门(2)-访问修饰符

    Java访问修饰符–public, protected, private and default Java提供了四个访问修饰符来设置类,变量,方法和构造函数的访问级别,即public,private, ...

随机推荐

  1. File 类的 getPath()、getAbsolutePath()、getCanonicalPath() 的区别【转】

    File 类的 getPath().getAbsolutePath().getCanonicalPath() 的区别 感谢大佬:https://blog.csdn.net/zsensei/articl ...

  2. Java基础复习(三)

    1. &和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则 ...

  3. Java基础复习(六)

    1. 接口的实现类中的实现接口中的抽象方法的方法必须为public,为什么? 接口中所有的方法与变量都默认是 public 的,在接口中可以不写出来.但在实现类中,如果不明写的话,就变成了 frien ...

  4. Python--列表简介

    Python--列表简介 目录 Python--列表简介 一.列表 1. 访问列表元素 2. 索引从0而不是1开始 3. 使用列表中的各个值 二.修改.添加和删除元素 1. 修改列表元素 2. 在列表 ...

  5. Solution Set -「ABC 217」

      大家好屑兔子又来啦! [A - Lexicographic Order]   说个笑话,\(\color{black}{\text{W}}\color{red}{\text{alkingDead} ...

  6. .Net Core Aop之IResourceFilter

    一.简介 在.net core 中Filter分为一下六大类: 1.AuthorizeAttribute(权限验证) 2.IResourceFilter(资源缓存) 3.IActionFilter(执 ...

  7. (翻译) CAP 理论 FAQ

    CAP 理论 FAQ 0. 关于这个文档 没有其它比CAP理论更引人注意的话题了, 这个FAQ的目的, 是说明对于CAP, 当前哪些是已知的, 并帮助那些刚接触这个理论的人快速了解, 并解决一些错误的 ...

  8. 【k8s中无法使用jstack和arthas的解决方案】1: Unable to get pid of LinuxThreads manager thread

    使用alpine镜像,jstack和arthas等无法连接到pid为1的java进程 k8s容器中执行结果 / # jstack 1 1: Unable to get pid of LinuxThre ...

  9. “四大高手”为你的 Vue 应用程序保驾护航

    全球都在处理数字化转型的问题,飞速发展的同时也为基础设施带来了一定的压力.同时许多黑客也在不断更新升级他们的攻击技术. 如果我们的应用程序有过多漏洞,被抓按住利用,就会变成大型芭比Q现场. 这也是为何 ...

  10. 【windows 访问控制】一、访问令牌

    访问令牌(Access tokens) 访问令牌是描述进程或线程的安全上下文的对象.令牌中的信息包括与进程或线程关联的用户帐户的标识和特权信息.当用户登录时,系统通过将用户密码与安全数据库(如域认证中 ...