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. autorelease注意事项

    1.autorelease使用注意 并不是放到自动释放池代码中,都会自动加入到自动释放池 @autoreleasepool { // 因为没有调用 autorelease 方法,所以对象没有加入到自动 ...

  2. JVM收藏的文章

    JAVA 内存泄露详解(原因.例子及解决) https://blog.csdn.net/anxpp/article/details/51325838 JVM内存区域划分Eden Space.Survi ...

  3. Volatile关键字和ThreadLocal变量的简单使用

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11812459.html package thread; /** * volatile关键字和T ...

  4. Kubectl —— 基本命令

    Kubectl -- 基本命令 1.kubectl 基本命令 2.项目的生命周期 3.声明式管理方法 service的类型: ClusterIP:提供一个集群内部的虚拟IP以供Pod访问( servi ...

  5. docker错误处理——docker Job for docker.service failed because the control process exited with error code.

    (15条消息) docker Job for docker.service failed because the control process exited with error code._Hel ...

  6. requests库session保持持久会话

      requests中cookie的原理 http://blog.csdn.net/zhu_free/article/details/50563756   requests - cookies的实现例 ...

  7. 2021美团安洵暗泉re部分复现

    typora-copy-images-to: ./ 安洵杯 sign_in 贪吃蛇 虽然没啥用 smc解密拿一下flag相关的部分 倒着看看sub_40105F 和sub_401055函数 写出解密算 ...

  8. 员工管理系统+字符编码+Python代码文件操作

    员工管理系统+字符编码+Python代码文件操作 1.员工管理系统 1.1  debug 代码调试 1.先使用鼠标左键在需要调试的代码左边点击一下(会出现一个红点)2.之后右键点击debug运行代码 ...

  9. 10、Linux基础--find、正则、文本过滤器grep

    笔记 1.晨考 1.每个月的3号.5号和15号,而且这天是星期六时执行 00 00 3,5,15 * 6 2.每天的3点到15点,每隔3分钟执行一次 */3 3-15 * * * 3.每周六早上2点半 ...

  10. suse 12 安装git客户端

    suse-linux:~ # zypper addrepo http://download.opensuse.org/repositories/devel:/tools:/scm/SLE_12_SP5 ...