17、java三大修饰符和访问修饰符

访问修饰符:private、default、protected、public
default、public可以修饰类、属性、方法
private、protected只能属性、方法

三大修饰符

abstract:

abstract可以修饰类和方法
修饰类:
1:修饰类,则该类不能实例化对象(不能new出来)
1:可以被子类继承,可以为子类提供共性的属性和方法
抽象类存在构造方法构建子类之前会先构建父类对象,父类的共性+子类的独有=完整的子类对象。
2: 可以声明为引用,:(多态)。

abstract class Animal{//该类为抽象类
	String breed;
	int age;
	boolean sex;
	public void eat(){}
	public void sleep(){}
}
//Animal a=new Animal是不可以的
Animal a = new Dog();//父类引用指向子类,多态

修饰方法:
抽象方法只有声明没有实现,缺少{},末尾使用;结束

abstract class Animal{//该类为抽象类
	public abstract void eat();
	public abstract void sleep();//
}

1:抽象方法必须包含在抽象类中,抽象类中可以有普通方法,抽象类中可以没有抽象方法。
2: 一个类继承了抽象类那么必须实现抽象类中的所有抽象方法,不实现抽象类中的所有抽象方法此类还是一个抽象类
一个类继承了一个抽象类,不实现所有抽象方法也可以!那么他还是抽象类

static:

static可以修饰属性、方法
修饰属性:
静态属性存储的地方是整个类共享的空间(方法区),所有基于此类创建的对象共同持有一份,任何对象的改变,都会影响其他对象(任何实例化的对象调用静态属性改变值都会影响其结果)。
访问静态属性方式:
对象名.静态属性名;
类名.静态属性名;

class Animal{
	static int age=1;
}
public test{
	public static void main(String[] args){
		Animal.age;//第1种方式
		Animal a=new Animal();//第2种方式
		a.age
		//其他对象操作该类会改变该静态值
		a.age=10;
		Animal b=new Animal();
		System.out.println(b.age);//10
	}
}

静态方法:
特点: 静态方法只能直接访问静态成员,不能直接访问非静态成员。

class MyClass{
	int a = 2;//实例变量
	static int b = 20;//静态变量
	public static void m1(){
		m2();//静态方法可以直接调用静态方法
	}
	public static void m2(){//静态方法
		MyClass mc = new MyClass();
		mc.m3();//通过实例化可以调用普通方法
		System.out.println(mc.a);//通过实例化可以调用普通变量
		System.out.println(b);//b静态变量
	}
	public void m3(){
		m4();//普通方法内可以调用普通方法
	}
	public void m4(){}
}

系统提供的常见的静态方法:

java.util.Arrays.sort(数组名)
java.util.Arrays.copyOf();
java.lang.Math.sqrt();
java.lang.Math.Random();

final:

final可以修饰类,方法、变量
1:final修饰类:此类不能被继承

final class Class{}
class  cla extends Class{}//无法继承

2:final修饰方法:可以被继承,但是不能被覆盖

class Class{
	public final void m(){
		System.out.println("MyClass m()");
	}
}
class cla extends Class{
	//会存在m(),但是不能让再出现m();
}

3.final修饰变量:此变量的值不能被改变(常量)
final修饰的变量分为:局部常量|实例常量|静态常量(只能赋值一次)
1.final修饰局部常量 只能赋值一次
2. final修饰实例常量:实例常量不再提供默认值,必须手动赋予初始 值,且只能赋值一次,赋值之后不能改变。
3. final修饰静态常量,必须在类加载结束之前正确赋值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值