java学习第八课:继承与访问权限(2)(零基础)

一、访问控制

控制等级/可否直接访问同一个类·同一个包不同包的子类不同包非子类
私有
默认
保护
公有

1.私有:private

2.默认

3.保护;protected

4.公有:public

package test3;

public class test29 {
//一个java文件只可以有一个公共类 public class
//公共类不一定非要包含主函数,但是有主函数一定要放到公共类里面
	private int a = 1;// 私有级别
	int b = 2;// 默认级别
	protected int c = 3;// 受保护级别
	public int d = 4;// 公有级别

	void f() {
		// 在同一个类中,abcd都可被使用
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
	}
}

//同一个包中
class B {
	//则私有不行
	void f() {
		test29 A1 = new test29();
		System.out.println(A1.a);
		System.out.println(A1.b);
		System.out.println(A1.c);
		System.out.println(A1.d);
	}
}
package test1;
import test3.test29;//导包
public class test330 {

}
class C extends test29{
	void f()
{    //私有、默认访问不到
		System.out.println(a);
		System.out.println(b);
		System.out.println(c);
		System.out.println(d);
	}
}

//同一个包中
class BD{
	//则私有不行
	void f() {
		test29 A1 = new test29();
		//只有公有可以访问的到
		System.out.println(A1.a);
		System.out.println(A1.b);
		System.out.println(A1.c);
		System.out.println(A1.d);
	}

}

2、final关键字

package test;
//2.final关键字
//final修饰变量 只可以被赋值一次从此就不可以修改
//1,funal修饰成员变量
//2.final修饰成员方法
//final修饰类
public class test12 {

}

class A {

	// final修饰成员变量 只可以被赋值一次
	// 普通成员变量 1.定义赋初值,2.构造方法里面赋初值
	final int a = 1;
	final int b;
	// final修饰static 静态成员变量 1.定义赋初值,2.构造方法里面赋初值 2.static代码块
		final static int c = 1;
		final static int d;
	
	A() {
		b = 2;
	}

	static {
		d = 3;
	}

	final void f() {
		System.out.println("A的final修饰成员方法");

	}
}

class B extends A {
	// final修饰成员方法不可以被覆盖
	void f() {
		
	}
	
}
final class C extends A{
	
}
//2.3 final修饰类,类不能被继承
class D extends C{
	
	
	
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值