精华内容
下载资源
问答
  • C#的protected访问权限
    2020-04-10 13:52:15

    受保护的:可以在当前类的内部以及该类的子类中访问。
    比private的访问权限稍微大一丁点。

    更多相关内容
  • protected访问权限

    千次阅读 2019-10-04 12:29:04
    对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以使用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西 ...

    对于protected修饰符,它主要的作用就是用来保护子类的。它的含义在于子类可以使用它修饰的成员,其他的不可以,它相当于传递给子类的一种继承的东西
    在这里插入图片描述

    展开全文
  • 详解Java的protected访问权限

    千次阅读 2022-02-10 17:44:22
    protected修饰静态方法和实例方法的差异

    protected 访问权限是这么定义的:protected 修饰的类和属性,对于本类、本包及其子类可见。

    其实,protected受访问保护规则是很微妙的。

    但可以概括为:

    1、protected的方法在自己的包中与public相同,可容易访问。

    对于实例方法来说:

    2、对于不同包的父类与子类,只能通过自身实例(自身的引用)访问自身继承的实例方法,而不能通过父类实例(引用)访问父类的实例方法。

    3、对于同父类的亲兄弟类,子类只能在自己的作用范围内,访问自己继承的那个父类的protected实例方法域,而无法到访问其他子类(同父类的亲兄弟类)所继承的protected实例方法域。

    对于静态方法来说:

    4、只要有继承关系(父类 或 同父类的亲兄弟类),都可以相互访问protected静态方法域。

    下面将分别对易混的第二、三、四点进行阐述:

    第二点(实例方法、不同包的父类与子类):

    package A;
    
    public class test{
        protected void SOUT(){
            System.out.println(100);
        }
    }
    
    
    package B;
    import A.*;
    
    public class test2_1 extends test{
        public static void main(String[] args) {
            test aa = new test();
            test2_1 bb = new test2_1();
            aa.SOUT();  //编译不通过,不能通过父类实例(引用)访问父类的实例方法。
            bb.SOUT();  //编译通过
        }
    }

    第三点:

    package A;
    
    public class test{
        protected void SOUT(){
            System.out.println(100);
        }
    }
    
    package B;
    import A.*;
    
    public class test2_1 extends test{
        public static void main(String[] args) {
            test2_2 aa = new test2_2();
            aa.SOUT();		// 编译错误,因为这里的aa访问的是test2_2类的SOUT方法域,不行。
    //但下列代码可以,因为访问的是自己的SOUT方法域。
    		test2_1 bb = new test2_1();
    		bb.SOUT();
        }
    }
    
    class test2_2 extends test{
        public static void k(){
    		test2_2 aa = new test2_2();
            aa.SOUT();		// 在这里访问就可以,因为访问的是本类的SOUT方法域。
        }
    }
    

    第四点:

    package A;
    
    public class test{
        protected static void SOUT(){
            System.out.println(100);
        }
    }
    
    package B;
    import A.*;
    
    public class test2_1 extends test{
        public static void main(String[] args) {
            test aa = new test();
            aa.SOUT();
            test2_1 bb = new test2_1();
            bb.SOUT();
            test2_2 cc = new test2_2();
            cc.SOUT();
            //均编译通过,因为protected修饰的是静态方法,
            //可以任意访问 父类 或 同父类的亲兄弟类 的SOUT方法
        }
    }
    
    class test2_2 extends test{
    
    }
    

    正因如此,我们无法在我们的类中直接调用 anObject.clone(); 。

    展开全文
  • 在c++中,protected修饰的成员属性和成员函数的访问权限: (1)、本类中的成员函数(public/private/protected修饰的函数) (2)、友元函数和友元类 (3)、派生类中的成员函数可以访问对应基类中的protected成员属性和...

    在c++中,protected修饰的成员属性和成员函数的访问权限:

    (1)、本类中的成员函数(public/private/protected修饰的函数)

    (2)、友元函数和友元类

    (3)、派生类中的成员函数可以访问对应基类中的protected成员属性和成员函数。

    #include <iostream>
    #include <string>
    
    class Base {
    public:
        Base() : m_data(0) {}
    
    protected:
        int m_data;
        
    private:
        void foo();
    };
    
    class Derived : public Base {
    public:
        Derived() = default;
    
    private:
        void print() {
            this->m_data = 2;
        }
    
    protected:
        void foo() {
            this->m_data = 2222;
        }
    };
    
    
    int main () {
        Base *b = new Derived();
        b->m_data = 3;  // 编译器报错,只能在类的成员函数中访问
    
      return 0;
    }

     

    展开全文
  • protected访问权限解释 Object的clone()方法简要介绍 Object类中的clone方法声明为protected,源码如下: protected native Object clone() throws CloneNotSupportedException; java中的native关键字表示这个方法...
  • java中protected权限

    2019-04-17 01:46:03
    NULL 博文链接:https://837062099.iteye.com/blog/1609340
  • C++中protected访问权限问题

    万次阅读 多人点赞 2018-07-19 17:17:10
    2. 派生类的成员只能通过派生类对象访问基类的保护成员,派生类对一个基类对象中的受保护成员没有访问权限。 这两句话看的太头晕了,其实作者应该是想表达:只有在派生类中才可以通过派生类对象访问基类的protected...
  • 我们知道C++中的类,有三种访问权限(也称作访问控制),它们分别是public、protected、private,C++中继承的方式还有多种。下面通过本文给大家详细介绍,对c++中的访问权限和继承方式感兴趣的朋友一起看看吧
  • 我最初理解的protected访问权限 protected 修饰的类和属性,对于自己、本包和其子类可见; 实际的protected访问权限 对于protected的成员或方法,要分子类和超类是否在同一个包中。 与超类不在同一个包中的子类,只能...
  • java中的protected访问权限  java中protected的几点说明。下面主要分为两点说明,第一继承性,第二非继承性。  继承性:如果一个类继承了另一个类,无论这个类和另一个类是否在同一个包中,都可以继承另一个类...
  • protected表示受保护的访问权限,只有本类或子类或父类中可以访问; 比较经典的用法示例如下: <?php //父类 class father{ public function a(){ echo function a ; } private function b(){ echo ...
  • 关于java中的protected访问权限

    万次阅读 2014-02-23 13:36:02
    1. protected 访问控制符能被用于方法和成员变量。    2. 声明为protected的方法和成员变量能被同一个包里的所有类所访问,就像默认修饰符package一样。    3. 能被该类的子类所访问,子类可以和父类不在一...
  • //PHP访问修饰符public , private ,protected 访问权限实例详解 //类内部:定义类的开始到结束之间,类的实例对象已经是类外部。 //定义:public 类内外部均可访问并且可继承给子类,private只有本类内部可以访问...
  • Java中protected方法访问权限的问题

    千次阅读 2021-02-12 11:13:09
    先看Test.java此时出现上文提到...我们已经清楚Object.clone()是protected方法。这说明,该方法可以被同包(java.lang)下以及它(java.lang.Object)的子类访问。这里我们自己定义的MyObject类(默认继承java.lang.Objec...
  • Protected访问权限

    千次阅读 2012-05-14 13:16:24
     看到protected,我们想到的可能是:protected 既提供包访问权限,同时对继承自该类的所有子类(或子类的下级子类)提供访问权限 !这句话是没有错的,不管子类与父类是否位于同一包中,子类的对象都可以访问...
  • 来谈谈protected访问权限问题。看下面示例1: Test.java class MyObject {}   publicclass Test {  publicstaticvoid main(String[] args) {  MyObject obj = new MyObject();  obj.clone();...
  • 为什么要使用protected访问权限? 子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问。 只有通过父类的public函数来间接访问,不是很方便。 比如,刚才Father类中的...
  • Java-Protected访问权限问题

    千次阅读 2017-06-17 11:39:54
    参考这篇 文章 基类和子类在同一个包中 ... main(String[] args) throws NoSuchMethodException, ...对于同一包中的访问,不管是继承类和别的非继承类,protected修饰符的访问权限与public一致。
  • C/C++编程:protected访问权限

    千次阅读 2020-11-19 17:34:12
    基类对象不能访问基类的protected成员,派生类中可以访问基类的protected成员。也就是说private成员是不能被继承的,只有public,protected的成员才可以被继承 只有在派生类中才可以通过派生类对象访问基类的...
  • 关于C++中protected访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然。 我再次读《C++ Primer》的时候,其中关于protected 成员的描述是这样的: protected ...
  • 有关protected修饰符的访问权限

    千次阅读 2021-09-23 19:52:23
    如果希望超类中的方法和属性能够被子类访问那么可以使用protected修饰符,但需要谨慎使用protected属性,它违背了数据封装原则(子类能访问父类的protected域),而protected修饰的方法是更具有实际意义的,比如Object...
  • c++ protected 访问权限

    2014-12-16 16:45:16
    关于C++中protected访问权限的讨论已经是一个很陈旧的话题了,陈旧到大家都不愿意去讨论,觉得他见到到吃饭睡觉那么自然。 我再次读《C++ Primer》的时候,其中关于protected 成员的描述是这
  • 我的protected访问权限

    2012-08-30 21:00:32
    关于java中各个访问权限控制应该有public,protected,包访问权限(friendly),private。对于public,包访问权限,还有private在 这里就不做过多解释了,根据字面意思也能够理解的八九不离十。  在这里主要对...
  • Protected:继承访问权限

    2019-09-20 16:11:25
    关键字protected处理的是继承关系。 如果创建了一个新包,并从另一个包中继承一个类,那么唯一可访问的成员就是public类型的成员(当然,如果在同一...protected也提供包访问权限,也就是说,相同包内的其他类可以访...
  • Java 访问权限控制:你真的了解 protected 关键字吗?

    万次阅读 多人点赞 2017-03-12 22:54:47
    在Java中,类成员访问权限修饰词有四类:private,无(包访问权限),protected 和 public,而其中只有包访问权限和public才能修饰一个类(内部类除外)。特别地,很多Java书籍对protected可见性的介绍都比较笼统,...
  • 本篇文章主要介绍 Java 的访问权限控制。
  • 来谈谈protected访问权限问题。看下面示例1: Test.java class MyObject {}   publicclass Test {  publicstaticvoid main(String[] args) {  MyObject obj = new MyObject();  obj.clone();...
  • 为什么要使用protected访问权限? 子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问。 只有通过父类的public函数来间接访问,不是很方便。 比如,刚才Demo中Father...
  • 为什么要使用protected访问权限? 子类的成员函数中,不能直接访问父类的private成员,已经这些成员已经被继承下来了,但是却不能访问。 只有通过父类的public函数来间接访问,不是很方便。 比如,刚才Demo中Father...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 160,553
精华内容 64,221
关键字:

protected访问权限