Java 为什么可以';扩展JTextField的类是否实例化JPasswordField?

Java 为什么可以';扩展JTextField的类是否实例化JPasswordField?,java,swing,instance,jtextfield,extending,Java,Swing,Instance,Jtextfield,Extending,我有一个空类MyJTextField扩展JTextField,我希望像JTextField一样,将MyJTextField初始化为JPasswordField JTextField pass = new JPasswordField(); //no errors but MyJTextField pass = new JPasswordField();//"Type mismatch: cannot convert from JPasswordField to MyJTextField" 您的

我有一个空类MyJTextField扩展JTextField,我希望像JTextField一样,将MyJTextField初始化为JPasswordField

JTextField pass = new JPasswordField(); //no errors
but
MyJTextField pass = new JPasswordField();//"Type mismatch: cannot convert from JPasswordField to MyJTextField"

您的MyJTextField是JTextField的子级。JPasswordField也是JTextField的孩子。但是MyJTextField不是JPasswordField的孩子,所以MyJTextField不是JPasswordField,他们是兄弟姐妹

    //you can do
    JTextField field1 = new JPasswordField(); //child is an instance of parent
    JTextField field2 = new MyJTextField(); //child is an instance of parent

    //you can't do
    JPasswordField field3 = new JTextField(); // parent is not instance of child
    MyJTextField field4 = new JTextField(); // parent is not instance of child
    JPasswordField field5 = new MyJTextField(); // siblings are not instances of each other
    MyJTextField field6 = new JPasswordField(); // siblings are not instances of each other

Thx,我没意识到/