文章目录
- Scala访问权限
- 1.同类中访问
- 2.同包不同类访问
- 3.不同包访问
- 4.子类权限
- 小结
Scala访问权限
知识点概念
private
--同类访问private[包名]
--包私有; 同类同包下访问protected
--同类,或子类 //同包不能访问(default)(public)默认public
--公共访问
1.同类中访问
class User{// TODO 1.同类中访问,所有权限都可以访问private var private_name ="zhangsan"private[_14Scala访问权限] var private__age ="zhangsan" //"_14Scala访问权限"包,以及其子包下的类和对象才能访问此属性protected var protected_sex ="zhangsan"var public_email ="zhangsan" //defaultdef test(): Unit = {println(this.private__age)println(this.private_name)println(this.protected_sex)println(this.public_email)}
}
小结:同类任何属性都可this访问
2.同包不同类访问
创建EMP类在User类隔壁,创建User实例,进行访问其属性;
class EMP{
// TODO 2.同包下,不同类访问; EMP类中访问User类属性val user = new User;def test(): Unit = {println(user.public_email)println(user.private__age)}}
小结:同包下仅有public,private[指定当前包]等可以访问属性值
3.不同包访问
3.1在14_Scala访问权限隔壁创建包_14DemoTest
3.2创建Access对象
3.3写入下面代码,精确导入包User
测试使用不同包下属性;
package _14DemoTestimport _14Scala访问权限.Object_Access._ //导入全部包信息
//import _14Scala访问权限._ //此处导入不能使用Userobject Access {def main(args: Array[String]): Unit = {// TODO 3.不同包下访问权限var User = new Userprintln(User.public_email) //也就只能访问public类型}
}
4.子类权限
同包下
// TODO 4.关于子类权限class Student extends User{val user =new Userdef test1(): Unit = {println(user.protected_sex)}}
不同包下
测试不同包下子类 权限使用情况
class Demo extends User {val user = new Userdef main(args: Array[String]): Unit = {println(user.protected_sex)println(user.public_email)}
}
小结
private
--同类访问private[包名]
--包私有; 同类同包下访问protected
--同类,或子类 //同包不能访问(default)(public)默认public
--公共访问