Java学习笔记:04面向对象-内部类_访问修饰符_final
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相关推荐
- Java笔记013-IDEA、包、访问修饰符、封装、继承、多态、Super、方法重写/覆盖(override)、java的动态绑定机制
目录 面向对象编程(中级部分) IDE(集成开发环境)-IDEA IDEA介绍 IDE(集成开发环境)-Eclipse Eclipse介绍 IDEA的安装 IDEA的基本介绍和使用 创建一个java项 ...
- Java基础教程【第八章:访问修饰符】
章节目录 1. 访问修饰符 1.1 public 1.2 protected 1.3 private 1.4 defaulted 2. static 2.1 静态变量 2.2 静态方法 2.3 静态代 ...
- JAVA学习笔记之面向对象(一)
作为初入开发的萌新,我根据黑马程序员的教学视频和课件整理总结,记录下自己的JAVA学习,方便巩固和交流.每篇笔记首先回顾知识点,然后贴上代码和执行结果,最后进行小结.若有不正之处或者有疑问,欢迎指出, ...
- 【原】Java学习笔记020 - 面向对象
1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...
- 【原】Java学习笔记018 - 面向对象
1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...
- JAVA学习笔记04
面向对象(代码块的概述和分类) * A:代码块概述 * 在Java中,使用{}括起来的代码被称为代码块. * B:代码块分类 * 根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同 ...
- 疯狂java学习笔记之面向对象(二) - 成员变量与局部变量
Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的 ...
- java学习笔记day06---匿名内部类
1.匿名内部类:其实就是内部类的简化形式,它所体现的就是一个类或者接口的子类对象. 前提: 内部类必须继承或实现外部类或接口. 格式: new 父类&接口(){}; ...
- 疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
方法的所属性: 从语法的角度来看:方法必须定义在类中 方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰 调用方法时:必须有主调对象(主语,调 ...
最新文章
- firewalled centos7
- 基于Javaweb实现企业财务管理系统
- DevExpress.XtraGrid
- C++之多重继承引发的重复调用
- 【Java报错】借助@PostConstruct解决使用@Component注解的类用@Resource注入Mapper接口为null的问题(原因解析+解决方法)
- mysql 双节点主从搭建_MySQL Replication, 主从和双主配置
- Hard Disk Drive HDU - 4788——24行代码AC,解题报告
- ubuntu下mysql整个数据库备份与还原
- docker设置不同网络和迁移到指定网络
- android 注册静态广播接收器VS注册动态广播接收器
- 华为3x linux 驱动下载,华为荣耀3X(G750-T00)usb驱动下载安装教程
- 思科2960交换机密码破解
- 2018年7月中华人民共和国县以上行政区划代码
- 查看计算机内存过高,物理内存过高怎么办,教您电脑物理内存过高怎么办
- 简易的GUI图书管理系统(数据库Mysql)
- 使用canvas制作绘图板
- 年度回忆录(2012.10----2013.01)
- 从JMM到CAID再到分布式事务-1
- Bootstrap搭建背景轮播的登录界面
- 机智云OTA过程MCU端程序设计学习(二)
热门文章
- 2021年茶艺师(中级)报名考试及茶艺师(中级)操作证考试
- Fiddler结合苹果11抓包小程序 (最新)
- atom 插件下载错误:【Fetching featured packages failed.self signed certificate in certificate chain】
- 英语计算机查询,常见的电脑英语查询7
- R语言cowplot介绍——把不同的图像拼接到一起
- Linux驱动开发之IIC驱动实验【完整教程】
- 用 Wasm 为数据库增加用户定义函数
- SortedMap与TreeMap的一个典型应用
- 格林酒店2019年第三季度营收同比增长20.1%
- 微服务框架搭建个人总结(避坑专用)