zoukankan      html  css  js  c++  java
  • scala之被保护对象的访问

    在scala语言中, 子类中使用super只能调用父类的方法, 不能调用其它任何属性

    子类不能访问父类中的私有字段, 被 保护的字段及普通字段可以访问。

    package cn.qianfeng
    
    object demo_par {
        def main(args: Array[String]): Unit = {
            val f1 = new F1("方程式赛车",12,5) // 子类的name,传入的age
            f1.show
        }
    }
    
    class Car{  // 父类
        private var name:String = "比亚迪"
        protected var age:Int = _
        var leg:Int = 3
    
        def this(name:String,age:Int){
            this
            this.name = name
            this.age = age
        }
    
        def show: Unit ={
            println(s"name=${name}, age=${age}, leg=${leg}")
        }
    }
    
    class F1 extends Car{  // 子类
    //    override val leg: Int = 4 // 子类中重写父类字段
        var name:String = _
        private var color:String = _
    
        def this(name:String,age:Int, leg:Int){
            this
            this.name = name  // 子类不能访问父类中的私有变量
            this.age = age  // 子类优先调用子类的变量
            this.leg = leg  // 父类中的leg在此被修改
        }
    
        override def show: Unit = { // 重写父类的方法
            super.show  // super调用父类的方法, 父类中的leg字段被修改,从3-->5
    //        println(super.leg) // 子类中supper 只能调用父类的函数, 其它均不能调用
            //
            println(s"name=${name}, age=${age}, leg=${leg}")
        }
    
    }

     运行结果 :

    name=比亚迪, age=12, leg=5
    name=方程式赛车, age=12, leg=5

  • 相关阅读:
    spring mvc valid
    记录一次springmvc 404
    用到的 git 命令
    tomcat java.lang.OutOfMemoryError: PermGen space
    angularjs 表单验证 和 页面初始化闪烁
    在jsp中 EL表达式不生效
    关于jsp中使用jstl的问题
    块级元素,内联元素和定位
    java学习第4天
    STL 常用集合算法
  • 原文地址:https://www.cnblogs.com/kongzhagen/p/15135094.html
Copyright © 2011-2022 走看看