C#親を子でインスタンス化

1164 ワード

class jk{int a=1;public void fun 1(){System.out.println("親funl()");public void fun 2(){System.out.println("親fun 2()")}}//Studentクラスはjkクラスから拡張され、jkクラスのfun 1()、fun 2()メソッドclass Student 2 extends jk{int a=4;char c=45;//ここでjkクラスのfun 1()メソッドpublic void fun 1(){System.out.println("サブクラスfun 1()")を複写する.public void fun 3(){System.out.println("サブクラスの新しいメソッドfun 3();}}public class実験{public static void main(String[]args){//ここで、親オブジェクトはサブクラスからjk p=new Studio 2();//fun 1()メソッドを呼び出し、ここで呼び出されたクラスのfun 1()メソッドp.fun 1();p.fun 2();System.out.println("a="+p.a);}}出力:サブクラスfun 1()親クラスfun 2()a=1以上fun 1()メソッドは複写されているので「サブクラスfun 1()」と出力しますが、属性aも複写されています.なぜ出力は元の1でp.fun 3()とp.cを呼び出すことができませんか.そうしないとコンパイルは通らないので、ここのpは参照でしょう.インスタンス化されたアドレスが格納されています.その中のインスタンス化の過程が低いのはどうなのか教えてください.ありがとうございます.
 
オブジェクトと参照を知っている以上、両者の関係newが何なのか、どのオブジェクトなのかを理解する必要があります.したがって、ここには子クラスStudio 2のオブジェクトしかありません.親クラスjkのオブジェクトがありません.親クラスが子オブジェクトを参照している間に、子クラスに新しく追加されたメソッドにアクセスできません.
System.IO.Stream fromFile = new FileStream(srcImgPath, FileMode.Open);
//  java , :
class A,class B,B A, A a= new B(); a ,
a( ), B ( ),; B ( ) B 。