Java的OOP(面向对象编程)及应用开发的修饰符(static、final关键字)
在开发过程中有许多我们需要注意到的东西 **本章内容主要介绍java开发者的修饰符的应用及OOP(面向对象编程)**java在实际应用发开中有好多的修饰符,例如:static final this super extends 等,而这一些修饰符则也就是javaOOP的和核心----------面向对象编程!
常见的开发者的修饰符
为了使我们的代码更规范,使用户及别人更好的体验及权限,我们通常在java代码的前方加上某些修饰符,让代码更简便,也有更好的阅读及权限:
- javaOPP ,常见的修饰符:
OOP常见的修饰符
一个简单的表格是这么创建的:
修饰符 | 变量声明范围 |
---|---|
Public | 占全部范围4个(全局变量) |
protected | 占3个范围 |
default | 占2个范围 |
private | 占1个范围(仅在类里面使用) |
1.下面我们来简单介绍一下我们的javaOO的声明方式:
static关键字可以修饰方法/变量(static静态的,静态只能调用静态,非静态可以随意调用,静态父类方法可以被继承,不能被修改)
1、 可以修饰成员变量,成员方法
2、 随着类的加载而加载,优先于对象加载
3、 只加载一次,就会一直存在,不再开辟新空间
4、 全局唯一,全局共享
5、 可以直接被类名调用
6、 静态只能调用静态,非静态可以随意调用
7、 static不能和this或者super共用,因为有static时可能还没有对象
static修饰变量:
static int a = 10; //static修饰变量
static静态方法代码展示:
class Demo{
static int a = 10;
int age;
static String name;
void getAge(){
System.out.println(age);
}
//静态资源
static void getName() {
System.out.println(name);
// System.out.println(age);
}
}
- static静态代码块 功能;
1、 可以修饰成员变量,成员方法
//
// 2、 随着类的加载而加载,优先于对象加载
// static int a = 10;
// 3、 只加载一次,就会一直存在,不再开辟新空间
// Demo.getName();
// 4、 全局唯一,全局共享
// Demo demo2 = new Demo();
// Demo demo3 = new Demo();
// demo2.name = “”+30;
// System.out.println();
// demo3.getName();
// 5、 可以直接被类名调用
// Demo.getName();
// 6、 静态只能调用静态,非静态可以随意调用
// System.out.println(name);
// System.out.println(age);
// 7、 static不能和this或者super共用,因为有static时可能还没有对象
static执行流程
- 关于 static 语法,静态代码块的执行流程,
final关键字可以修饰方法/变量/类(final关键字,不可变的、最终的)
## 修饰常量:
public static final int pai = 3.1415926;
## 修饰类(类可以被继承,不可以被修改):
final class fu3{
protected final double pai = 3.14;
void show() {
System.out.println(“父类”);
}
void clear() {
System.out.println(“父类清楚”);
}
}
代码块:
分为:静态代码块、构造代码块、局部代码块
那么分别有着什么作用呢?
- 静态代码块:(在方法外、全局)最先执行**
最早**
class Demo{
//主要负责类加载
static {
System.out.println(name);
// System.out.println(age);
}
}
- 构造代码块:(在方法外、全局)第二执行
class Demo{
{
System.out.println("name");
// System.out.println(age);
}
}
- 局部代码块:(在方法里)最后执行
class Demo{
void fun() { //当然这个void方法默认的类型是Defualt
{
System.out.println("name");
}
}
}
代码块流程
代码块的执行流程图: