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. js将HTML中table导出到EXCEL word (只支持IE) 另用php 配合AJAX可以支持所有浏览器

    转载请注明来源:https://www.cnblogs.com/hookjc/ <HTML>     <HEAD>       <title>WEB页面导出为EXC ...

  2. Mybatis foreach的用法

    本文援引:https://www.cnblogs.com/fnlingnzb-learner/p/10566452.html 在做mybatis的mapper.xml文件的时候,我们时常用到这样的情况 ...

  3. Byobu安装与使用

    机子为Ubuntu18 Byobu安装 sudo apt-get install byobu Byobu安装后默认禁用,需要启用Byobu,之后每次登陆自动启用Byobu byobu-enable 还 ...

  4. Oracle用户创建、删除和授权等方法总结

    一.查看用户及权限 1.查询所有用户: 1.1.查看所有用户基本信息 select * from all_users; 1.2.查看所有用户相信信息 select * from dba_users; ...

  5. Spring Boot AOP 扫盲,实现接口访问的统一日志记录

    AOP 是 Spring 体系中非常重要的两个概念之一(另外一个是 IoC),今天这篇文章就来带大家通过实战的方式,在编程猫 SpringBoot 项目中使用 AOP 技术为 controller 层 ...

  6. ARM7、ARM9、ARM11、ARM-Cortex系列的关系

    参考资料: https://zhuanlan.zhihu.com/p/92315825 https://zhuanlan.zhihu.com/p/82337495 ARM是Advanced RISC ...

  7. Django视图与模板(6)

    前面记到数据库与模型(models)有联系,现在记录一下视图与模板,他们两个也有联系. 个人理解:视图就好像一个cpu,比较核心,就是用来处理问题的,又叫业务逻辑处理,他把处理完的结果插入到模板里面, ...

  8. python数据结构:数组和列表

    线性结构有两种:数组和列表 array和list 其中list各项操作的时间复杂度如下 因为insert是在头部插入 所以列表所有元素后移,时间复杂度为O(n) remove移除列表中某个值的第一个匹 ...

  9. 国产BI报表工具中低调的优秀“模范生”——思迈特软件Smartbi

    首先简单来介绍一下这位低调且优秀的模范生--思迈特软件Smartbi.思迈特Smartbi是企业级商业智能BI和大数据分析品牌,满足用户在企业级报表.数据可视化分析.自助分析平台.数据挖掘建模.AI智 ...

  10. PPT绝对不能没有它!精美酷炫的可视化图表来啦!

    从我们上学到工作,PPT我们见得多了,也做得多了.上学的时候最怕老师布置的作业是以PPT形式上交,工作中项目汇报.工作总结.年终汇报等,哪哪都需要用到PPT.PPT中文字太多,被批判不够简炼:图片太多 ...