面向对象拓展

static修饰符

  1. static修饰的字段和方法直接属于类,不属于该类的对象(字段和方法属于谁,就让谁来调用)
  2. 使用static修饰的成员属于类,直接用类名调用即可
  3. 没有使用static方法修饰的成员属于对象,必须先创建对象再调用
  4. 一般的,static方法访问的成员变量必须使用static修饰
  5. static方法不能使用super和this,因为static是类级别的,super和this是对象级别的,存在类的时候不一定存在对象,也就是说调用static方法时可能没有对象
public class StaticDemo {
	int age = 10;	// 非静态成员变量
	
	public static void main(Strings[] args) {	// 静态方法
		System.out.println(age);	//调用非静态成员变量,报错
	}
}

final修饰符

1. final修饰的类不能被继承
2. final修饰的方法不能被重写
3. final修饰的变量的值不能改变,也就是常量,只能赋值一次,不能再重新赋值
注:基本数据类型表示值不能改变; 引用数据类型表示所引用地址值不能改变

代码块

  1. 静态代码块: 由static修饰的代码块,随着字节码文件被加载进JVM虚拟机时就开始运行,可以说是程序中最先执行的代码块,常常用来做资源加载,加载配置文件等操作
  2. 局部代码块: 直接定义在方法内部的代码块,一般不会直接使用局部代码块,都是接在if,for,while等关键字后面使用,表示一块代码区域
  3. 初始化代码块: 也叫构造代码块,直接定义在类中,每次创建对象时都会执行的代码块,开发中不单独使用,即使要使用,也是在构造器中使用
public class Demo() {
	// 静态代码块
	static {
		System.out.println("我是静态代码块,我最先执行");
	}

	// 初始化代码块
	public Demo() {
		System.out.println("我是初始化代码块,我在构造器中");
	}

	public void speak() {
		if(true) {
			System.out.println("我是局部代码块,我在方法内部,跟着if关键字使用");
		}
	}

}

内部类: 把一个类定义在另一个类的内部,把里面的类称之为内部类

  1. 静态内部类: 使用static修饰的内部类,那么访问内部类直接使用外部类名来访问
  2. 实例内部类: 没有使用static修饰的内部类,访问时使用外部类创建的对象来访问
  3. 局部内部类: 定义在方法中的内部类
  4. 匿名内部类: 特殊的内部类,创建的对象只能使用一次
/*
	匿名内部类语法:
	继承关系
	new 父类构造器名(实参列表) {
		匿名内部类的类体;
	}
	接口实现关系
	new 接口名字() {
		匿名内部类的类体;
	}
*/
public class Demo {
	// 接口实现类的匿名内部类,这个类只能用一次
        new IUsb() {
        	// 重写接口的抽象方法
            public void work() {
                System.out.println("鼠标在打字!");
            }
        }.work();
}

枚举

  1. 枚举类是一种特殊的类,它固定了一个类只能有哪些对象,不能改变
  2. 枚举类中的对象都是全局公共静态的常量,使用时就使用枚举类名调用即可
  3. 枚举类不能创建对象
// 枚举类定义
public enum 枚举类名 {
	常量对象A,常量对象B,常量对象C;	// 因为全是常量,所以这些对象需要全部大写,所有字母都要大写
}

// 使用
枚举类名.常量对象A;
String name = 枚举对象.name();	// 返回枚举对象的常量名称
int index = 枚举对象.ordinal();	// 返回枚举对象的序号,从0开始
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值