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. CABasicAnimation基础核心动画

    核心动画之作用在层上面.     动画的本质是改图层的某一个属性.     CABasicAnimation *anim = [CABasicAnimation animation];     图层有 ...

  2. ◆JAVA加密解密-DES

    DES算法提供CBC, OFB, CFB, ECB四种模式,MAC是基于ECB实现的. 一.数据补位 DES数据加解密就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节的密文或者明文,最后 ...

  3. 浅谈Java中linkedlist和arraylist区别

    在Java中,关于集合框架有这样一个体系结构: 其主要由两个接口派生而出:Collection和Map,然后再衍生出各自的一些实现类(比如Collection接口又被继承与Set和List接口,而他们 ...

  4. Docker名词解释

    http://www.runoob.com/docker/docker-architecture.html  

  5. WMI简介和Event驻留

      WMI (Windows Management Instrumentation,Windows管理规范) 从Windows 2000开始被包含于操作系统后,就一直是Windows操作系统的一部分. ...

  6. MySQL 5.7 基于GTID主从复制+并行复制+半同步复制

    环境准备 IP HOSTNAME SERVICE SYSTEM 192.168.131.129 mysql-master1 mysql CentOS7.6 192.168.131.130 mysql- ...

  7. 痞子衡嵌入式:介绍i.MXRT定时器PIT的多通道链接模式及其在coremark测试工程里的应用

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT定时器PIT的多通道链接模式及其在coremark测试里的应用. 早在 2018 年 i.MXRT 系列跨界处理器刚推出的时 ...

  8. IE内核 播放 RTMP 视频

    VLC IE ActiveX 方式播放 需IE内核支持(IE或者双核浏览器). VLC 下载地址https://www.videolan.org/vlc/ 页面视频窗口 <div id=&quo ...

  9. python中time模块的调用及使用

    1 import time #通常import语句会写到代码的开头 2 3 print('------------------------') 4 print('------------------- ...

  10. 做PPT必备的大数据分析网站,好看又免费的报表工具

    小明以前是学技术,跳槽来到一家大公司,在这个公司里会经常开会,比如有月度报告.季度报告以及年度报告,在开会前小明了解到同事们都会制作精美的PPT来汇报工作计划和目标,看到同事们精美的PPT里各种好看的 ...