Java的OOP(面向对象编程)及应用开发的修饰符(static、final关键字)

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);
	}
}

  1. 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执行流程

Mon 06 Mon 13 Mon 20 载入类 跟随Class 只执行一次代码 全局共享 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(“父类清楚”);
}
}
继承final类的报错描述

代码块:

分为:静态代码块、构造代码块、局部代码块

那么分别有着什么作用呢?

  • 静态代码块:(在方法外、全局)最先执行**最早**
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");
		}
	}
}

代码块流程

代码块的执行流程图:

Created with Raphaël 2.2.0 static静态代码块跟随类加载(不用new都可以出现,子要Class.from("类名")) 构造代码块(new 类名())出现 局部代码块 结束 yes
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值