标签: protected

为什么我不能访问受保护的java方法,即使我已经扩展了类?

这是受保护方法的文档:

/** Converts jmusic score data into a MIDI Sequence */
protected  javax.sound.midi.Sequence scoreToSeq(Score score)
Run Code Online (Sandbox Code Playgroud)

我创建了这个小类来扩展scoreToSeq方法来自的类:

public class MidiSequence extends MidiSynth{

    public Sequence getSequence(Score score){
        MidiSynth synth = new MidiSynth();
        Sequence sequence = null;
        try
        {
                    // Here I get the error saying that the method has
                    // protected access in MidiSynth
            sequence = synth.scoreToSeq(score);

        }
        catch (InvalidMidiDataException e)
        {
            /*
             *  In case of an exception, we dump the exception
             *  including the stack trace to the console.
             * …
Run Code Online (Sandbox Code Playgroud)

java inheritance protected

8
推荐指数
2
解决办法
2万
查看次数

你选择什么,保护什么或内部?

如果我有一个类我想要的方法protectedinternal.我希望只有程序集中的派生类才能调用它.

由于protected internal手段protected 或者 internal,你必须做出选择.在这种情况下你选择什么 - protected或者internal

c# protected internal access-levels

8
推荐指数
2
解决办法
382
查看次数

Scala保护对象

在Scala中,如果我创建了一个对象和伴随类,protected如果导入了对象,则可以从类中访问使用修饰符声明的标识符:

object Foo {
  protected val X = 42
}
class Foo {
  import Foo._
  def getX(): Int = X
}
Run Code Online (Sandbox Code Playgroud)

但是,protected无法从类Foo的子类访问标识符:

class Bar extends Foo {
  import Foo._
  def getX(): Int = X * 2
}
Run Code Online (Sandbox Code Playgroud)

我得到一个编译时错误Bar.

其他(隐含的)public,是否有任何访问修饰符,我可以X从它的伴侣的子类访问它,但不能从其他类,包括同一个包中的其他类访问?

scala protected

8
推荐指数
1
解决办法
1601
查看次数

PHP受保护的类和属性,受到谁的保护?

我刚刚开始使用David Powers 的面向PHP面向对象解决方案的OOP PHP ,并且对OOP中的保护概念有点好奇.

作者清楚地解释了保护是如何起作用的,但是关于不希望其他人能够改变属性的一点点有点平淡.我很难想象有可能阻止其他人改变你的课程,因为他们可以打开你的class.php手动调整任何他们喜欢看到的PHP如何总是用纯文本.

注意:以上所有内容均由初学者编写,初学者对编程有所了解.

php oop protected

8
推荐指数
2
解决办法
1万
查看次数

如何将受密码保护的PDF保存为非密码保护的PDF

我想打印一个受密码保护的PDF,所以一开始,我试图将这个PDF转换成NSData并传递给它UIPrintInteractionController.

但根据Google搜索结果,您无法将PDF解锁为NSData结构.唯一的解决方案是将受密码保护的PDF保存为非密码保护的PDF,然后打印出来.

我在互联网上搜索了半天,但我仍然找不到如何做到这一点.

我知道CGPDFDocumentUnlockWithPassword,但这是为了即时观看,不会给我任何我可以打印的东西.

pdf protected objective-c

8
推荐指数
1
解决办法
1795
查看次数

c ++喜欢java中的protected

可能重复:
如何使数据成员只能访问类和子类

在java中,
可以从类,它的子类以及同一个包中存在的所有类中访问受保护的成员,
但是我希望只能从类及其子类访问成员(就像c ++中的受保护成员一样).

例如:::

class A
{
    protected void fun()
    {
        System.out.println("Hello");
    }
}
class B
{
    public static void main(String args[])
    {
        A a = new A();
        a.fun();        
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,A的fun()可以被B访问,即使B不是A的子类.

如何使A不能进入所有不属于A的子类的类?

编辑::我想在java中实现这一点.

c++ java protected access-specifier

8
推荐指数
1
解决办法
3198
查看次数

内部接口*less*可访问内部受保护的构造函数?

我有一个接口和一个在同一个程序集中定义的抽象基类:

IFoo.cs:

internal interface IFoo { ... }
Run Code Online (Sandbox Code Playgroud)

Base.cs:

public abstract class Base
{
    internal protected Base(IFoo foo) { ... }
}
Run Code Online (Sandbox Code Playgroud)

这会生成以下编译器错误:

CS0051: Inconsistent accessibility: parameter type 'IFoo' is less
        accessible than method 'Base.Base(IFoo)'
Run Code Online (Sandbox Code Playgroud)

如果我将Base类构造函数设置为仅内部,则错误消失.由于该类是抽象的,可能在可访问性中添加受保护并不能完成任何事情......

不过,我不明白这个错误.MSDN将'protected internal'定义为

"访问仅限于当前程序集或从包含类派生的类型"

内部接口IFoo如何比内部受保护的构造函数更难访问?

c# protected internal

8
推荐指数
1
解决办法
2093
查看次数

Scala中类定义中受保护关键字的含义是什么?

我正在通过"Scala for the Impatient"一书中的练习来学习Scala.一项练习要求:

Stack.scala文件包含定义class Stack[+A] protected (protected val elems: List[A])

解释protected关键字的含义.

有人能帮助我理解这个吗?protected显然对成员变量有意义,但它在类定义中有什么含义?

generics scala class protected covariance

8
推荐指数
1
解决办法
150
查看次数

使用公共方法继承Java类,接受Kotlin中的受保护类

我有这种情况:有一个Java类

public class A {

    public void overrideMe(B param){
        //TODO: override me in Kotlin!
    }

    protected static class B {

    }
}
Run Code Online (Sandbox Code Playgroud)

还有一个Kotlin类,它继承自它并且必须覆盖方法"overrideMe"

class K: A() {
    override fun overrideMe(param: B) {
        println("Wow!")
    }
}
Run Code Online (Sandbox Code Playgroud)

但Kotlin不允许这种行为.

'public'函数公开其'protected(in A)'参数类型B.

有什么方法可以解决这个问题吗?

PS这不仅仅是一个合成案例 - 当我尝试实现自定义Spring AmqpAppender并覆盖它的postProcessMessageBeforeSend方法时,我遇到了这个问题.

java inheritance protected kotlin kotlin-interop

8
推荐指数
1
解决办法
460
查看次数

使用父保护构造函数的实例子类字段

简化的情况

public class A {
    protected A() { }
    protected A Make() { return new A(); }
}

public class B : A {
    A a = new A(); //inaccessible due to protection level
    B b = new B();

    private B()
    {
        A c = new A();//inaccessible due to protection level
        a = new A(); //inaccessible due to protection level
        a = Make();
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么使用A类保护的构造函数在B类中创建A的实例是不可能的?

在我看来,受保护的构造函数就像受保护的方法,因此应该可以在子类中运行它.

c# inheritance constructor field protected

7
推荐指数
1
解决办法
694
查看次数