当前位置: 首页 > news >正文

15_Scala面向对象编程_访问权限

文章目录

  • 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
--公共访问
http://www.lryc.cn/news/344822.html

相关文章:

  • LeetCode|700. Search in Binary Search Tree
  • MacOS下载安装JDK8
  • macOS 如何使用Visual Studio Code 编译C++
  • SQLite3简单操作
  • 从“制造”到“智造”:“灯塔”经验助力中国制造业转型升级-转载
  • C++ 容器(二)——容器操作
  • 操作系统——进程控制
  • Marin说PCB之国产电源芯片方案 ---STC2620Q
  • 已解决java.lang.StringIndexOutOfBoundsException: 字符串索引越界异常的正确解决方法,亲测有效!!!
  • 关于实体类注解@Data、@EqualsAndHashCode(callSuper = true)、@Accessors(chain = true)的作用
  • 5.9号模拟前端面试10问
  • vue3 JSX的使用与警告【JSX 元素隐式具有类型 “any“,因为不存在接口 “JSX.IntrinsicElements“】解决办法
  • 一、计算机基础(Java零基础一)
  • 德国著名自动化公司Festo设计了一款仿生蜜蜂,仅重34g,支持多只蜜蜂编队飞行!...
  • 折腾记:C++用开源库Snap7通过S7协议连接西门子PLC
  • Android studio 新版本 NewUI toolbar显示快捷按钮
  • 辛普森公式求函数的近似积分【通用计算】
  • 即插即用 | YOLOv8热力图可视化方法详解,揭秘AI如何「看」世界!【附完整源码】
  • 多线程学习D10 收尾了应该
  • ai可以做思维导图吗?当然是可以的!
  • 景源畅信数字:抖音小店的入住门槛大不大?
  • 鸿蒙开发-ArkTS语言-容器-非线性容器
  • 【C语言】指针篇- 深度解析Sizeof和Strlen:热门面试题探究(5/5)
  • 【设计模式】单例模式的前世今生
  • 厦门网上在线教育系统,线下老师怎么转型到线上网上授课?
  • Spring底层入门(九)
  • 掌握Android Fragment开发之魂:Fragment的深度解析(下)
  • 小巧简单实用的Linux端口转发工具Rinetd
  • HackBar 新手使用教程(入门)
  • <Linux> 权限