简体   繁体   English

内部班或单独班

[英]Inner class or separate class

I have a outer class called Packet with 3 instance vars, myint1 to myint3. 我有一个名为Packet的外部类,具有3个实例vars,即myint1到myint3。
I also want to create a class called Subpacket, which should point to myint1 and myint2. 我还想创建一个名为Subpacket的类,该类应指向myint1和myint2。
Should i make Subpacket as an inner class of Packet? 我应该将Subpacket作为Packet的内部类吗?
So for eg, if Packet has myint1=1, myint2=2 and myint3=3, then if a class Foo refers to the Subpacket object, it would access myint1 and myint2. 因此,例如,如果Packet的myint1 = 1,myint2 = 2和myint3 = 3,则如果类Foo引用了Subpacket对象,它将访问myint1和myint2。
I will pass Packet objects to some methods and Subpacket objects to some other methods. 我将Packet对象传递给某些方法,将Subpacket对象传递给其他方法。
So the question is is it a good idea to make Subpacket an inner class of Packet? 所以问题是让Subpacket成为Packet的内部类是一个好主意吗?

You need inheritance.. SubPacket should extend Packet . 您需要继承SubPacket应该扩展Packet

Where, 哪里,

class Packet {

protected int myInt1; // accessible in subclass
protected int myInt2;
private int myInt3; // not accessible by child class

}

class SubPacket extends Packet {
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM