c#中如下:
using System;
class A
{
void qq()
{
B b=new B();
b.age=33;//失败
}
public static void Main(string[]args)
{
}
}
class B:A
{
protected int age=22;
}----------------------------------------------------------------------]
java中:
class A
{
void qq()
{
B b=new B();
b.age=33;//成功
}
public static void main(String[]args)
{
System.out.println("success");
}
}
class B extends A
{
protected int age=22;
}想请问一下,此时两种语言的运行机制.
using System;
class A
{
void qq()
{
B b=new B();
b.age=33;//失败
}
public static void Main(string[]args)
{
}
}
class B:A
{
protected int age=22;
}----------------------------------------------------------------------]
java中:
class A
{
void qq()
{
B b=new B();
b.age=33;//成功
}
public static void main(String[]args)
{
System.out.println("success");
}
}
class B extends A
{
protected int age=22;
}想请问一下,此时两种语言的运行机制.
for c#:protected 关键字是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问
for java: 除了可以由派生类访问外, 还可以由同包的其它类访问. 注意包是java的概念,c#中没有.