คำถามติดแท็ก class

เทมเพลตสำหรับสร้างวัตถุใหม่ที่อธิบายสถานะทั่วไปและพฤติกรรม ไม่ต้องกังวลกับคลาส CSS ใช้ [css] แทน

7
ตรวจสอบว่า Class Object เป็นคลาสย่อยของ Class Object อื่นใน Java
ฉันกำลังเล่นกับ API การสะท้อนของ Java และพยายามจัดการบางฟิลด์ ตอนนี้ฉันติดอยู่กับการระบุประเภทของเขตข้อมูลของฉัน myField.getType().equals(String.class)สตริงเป็นเรื่องง่ายเพียงแค่ทำ เช่นเดียวกับคลาสอื่นที่ไม่ได้รับ แต่ฉันจะตรวจสอบคลาสที่ได้รับได้อย่างไร เช่นLinkedListเป็น subclass Listของ ฉันไม่สามารถหาใด ๆisSubclassOf(...)หรือextends(...)วิธีการ ฉันจำเป็นต้องเดินผ่านทั้งหมดgetSuperClass()และค้นหา supeclass ของฉันด้วยตัวเองหรือไม่?
197 java  class  reflection 

8
Java: ฉันจะได้รับตัวอักษรในชั้นเรียนจากประเภททั่วไปได้อย่างไร
โดยปกติแล้วฉันเคยเห็นคนใช้ตัวอักษรในชั้นเรียนเช่นนี้: Class<Foo> cls = Foo.class; แต่ถ้าเป็นประเภททั่วไปเช่นรายชื่อจะเป็นอย่างไร วิธีนี้ใช้ได้ผลดี แต่มีคำเตือนเนื่องจากรายการควรได้รับการกำหนดพารามิเตอร์: Class<List> cls = List.class ดังนั้นทำไมไม่เพิ่ม<?>? นี่ทำให้เกิดข้อผิดพลาดประเภทไม่ตรงกัน: Class<List<?>> cls = List.class ฉันคิดบางอย่างเช่นนี้จะทำงานได้ แต่นี่เป็นเพียงข้อผิดพลาดทางไวยากรณ์ธรรมดา ol: Class<List<Foo>> cls = List<Foo>.class ฉันจะได้รับClass<List<Foo>>แบบคงที่ได้อย่างไรเช่นใช้ตัวอักษรของชั้นเรียน? ฉันสามารถใช้@SuppressWarnings("unchecked")เพื่อกำจัดคำเตือนที่เกิดจากการใช้ List แบบไม่มีพารามิเตอร์ในตัวอย่างแรกClass<List> cls = List.classแต่ฉันไม่ต้องการ ข้อเสนอแนะใด ๆ
194 java  generics  class  literals 

5
อาร์กิวเมนต์สุดท้ายในวิธีการเชื่อมต่อ - ประเด็นคืออะไร?
ใน Java การกำหนดfinalอาร์กิวเมนต์ในเมธอดอินเทอร์เฟซนั้นถูกกฎหมายอย่างสมบูรณ์และไม่ปฏิบัติตามในคลาสการนำไปใช้งานเช่น: public interface Foo { public void foo(int bar, final int baz); } public class FooImpl implements Foo { @Override public void foo(final int bar, int baz) { ... } } ในตัวอย่างข้างต้นbarและbazมีfinalคำจำกัดความที่ตรงกันข้ามในคลาส VS อินเทอร์เฟซ ในทำนองเดียวกันไม่มีการfinalบังคับใช้ข้อ จำกัด ใด ๆ เมื่อเมธอดคลาสหนึ่งขยายอีกวิธีหนึ่งabstractหรือไม่ก็ได้ ในขณะที่finalมีค่าที่ใช้งานได้จริงบางส่วนในตัวเมธอดคลาสมีจุดใดบ้างที่ระบุfinalสำหรับพารามิเตอร์วิธีการอินเทอร์เฟซ?
192 java  class  interface  methods  final 

10
เกิดข้อผิดพลาดในการขยายเมื่อขยายชั้นเรียน
ฉันพยายามที่จะสร้างมุมมองที่กำหนดเองที่ขยายGhostSurfaceCameraView SurfaceViewนี่คือไฟล์คำจำกัดความของชั้นเรียน GhostSurfaceCameraView.java: public class GhostSurfaceCameraView extends SurfaceView implements SurfaceHolder.Callback { SurfaceHolder mHolder; Camera mCamera; GhostSurfaceCameraView(Context context) { super(context); // Install a SurfaceHolder.Callback so we get notified when the // underlying surface is created and destroyed. mHolder = getHolder(); mHolder.addCallback(this); mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); } public void surfaceCreated(SurfaceHolder holder) { // The Surface …
188 java  android  xml  class  surfaceview 

3
ฉันจะทราบได้อย่างไรว่าคลาส Java เป็นนามธรรมจากการสะท้อนกลับ
ฉันกำลังเรียนผ่านชั้นเรียนในไฟล์ Jar และต้องการค้นหาสิ่งที่ไม่เป็นนามธรรม ฉันสามารถแก้ปัญหานี้ได้โดยการสร้างคลาสและดักจับ InstantiationException แต่อินสแตนซ์นั้นมีประสิทธิภาพในการทำงานเนื่องจากบางคลาสมีการเริ่มต้นอย่างหนัก ฉันไม่พบสิ่งที่ชัดเจนเหมือน isAbstract () ในเอกสาร Class.java
184 java  class  abstract 

2
Scala ที่เทียบเท่ากับวัตถุ Java java.lang.Class <T>
ตัวอย่างคำถามอธิบายได้ดีที่สุดโดย: ใน Java สำหรับ JPA EntityManager ฉันสามารถทำสิ่งต่อไปนี้ได้ (บัญชีคือคลาส Entity ของฉัน): Account result = manager.find(Account.class, primaryKey); ใน Scala ความพยายามที่ไร้เดียงสาของฉันคือ: val result = manager.find(Account.class, primaryKey) แต่เมื่อฉันลองใช้Account.classใน Scala ดูเหมือนว่าจะไม่เป็นแบบนี้ ฉันจะระบุวัตถุ java.lang.Class สำหรับคลาสบัญชีใน Scala ได้อย่างไร
183 java  class  scala 

10
ทำไมคลาส Java ภายนอกสามารถเข้าถึงสมาชิกส่วนตัวของคลาสภายในได้
ฉันสังเกตว่าคลาสภายนอกสามารถเข้าถึงตัวแปรอินสแตนซ์ส่วนตัวของคลาสภายในได้ เป็นไปได้อย่างไร? นี่คือตัวอย่างรหัสที่แสดงให้เห็นถึงสิ่งเดียวกัน: class ABC{ class XYZ{ private int x=10; } public static void main(String... args){ ABC.XYZ xx = new ABC().new XYZ(); System.out.println("Hello :: "+xx.x); ///Why is this allowed?? } } เหตุใดพฤติกรรมนี้จึงอนุญาต

3
เรียกวิธีการคงที่จากวิธีการเรียน ES6 ปกติ
วิธีมาตรฐานในการเรียกใช้วิธีการคงที่คืออะไร ฉันสามารถคิดถึงการใช้constructorหรือใช้ชื่อของคลาสเองฉันไม่ชอบอันหลังเพราะมันไม่จำเป็น อดีตเป็นวิธีที่แนะนำหรือมีอย่างอื่นอีกหรือไม่ นี่คือตัวอย่าง (contrived): class SomeObject { constructor(n){ this.n = n; } static print(n){ console.log(n); } printN(){ this.constructor.print(this.n); } }

5
ฉันจะใช้ Linq เพื่อรับรายการคุณสมบัติที่ไม่ซ้ำจากรายการวัตถุได้อย่างไร
ฉันกำลังพยายามใช้ Linq เพื่อส่งกลับรายการรหัสที่ระบุรายการของวัตถุที่ id เป็นคุณสมบัติ ฉันต้องการที่จะสามารถทำเช่นนี้ได้โดยไม่ต้องวนลูปผ่านแต่ละวัตถุและดึงรหัสที่เป็นเอกลักษณ์ที่ฉันพบ ฉันมีรายการของวัตถุประเภท MyClass และหนึ่งในคุณสมบัติของคลาสนี้คือ ID public class MyClass { public int ID { get; set; } } สิ่งที่ฉันต้องการจะทำคือเขียนแบบสอบถาม Linq เพื่อส่งรายการรหัสเหล่านั้นกลับมาให้ฉัน ฉันจะทำIList&lt;MyClass&gt;เช่นนั้นได้อย่างไรเมื่อมันคืนค่าIEnumerable&lt;int&gt;ของรหัส? ฉันแน่ใจว่าต้องเป็นไปได้ที่จะทำในหนึ่งหรือสองบรรทัดโดยใช้ Linq แทนที่จะวนซ้ำแต่ละรายการในรายการ MyClass และเพิ่มค่าที่ไม่ซ้ำกันลงในรายการ ความช่วยเหลือใด ๆ ในการสร้างโซลูชันที่สง่างามจะได้รับการชื่นชมอย่างมาก!
171 linq  class  list  c#-3.0  properties 

10
ควรใช้คลาสที่คงที่เทียบกับอินสแตนซ์
PHP เป็นภาษาโปรแกรมแรกของฉัน ฉันไม่สามารถคาดศีรษะได้เมื่อใช้คลาสที่คงที่และวัตถุที่สร้างอินสแตนซ์ ฉันรู้ว่าคุณสามารถทำซ้ำและคัดลอกวัตถุ อย่างไรก็ตามในทุกเวลาของฉันโดยใช้ php วัตถุหรือฟังก์ชั่นใด ๆ มักจะจบลงด้วยการกลับมาเป็นค่าเดียว (อาร์เรย์, สตริง, int) หรือโมฆะ ฉันเข้าใจแนวคิดในหนังสือเช่นคลาสของตัวละครในวิดีโอเกม ทำสำเนาวัตถุรถยนต์และสร้างใหม่ให้เป็นสีแดงซึ่งทั้งหมดนั้นสมเหตุสมผล แต่สิ่งที่ไม่มีในแอปพลิเคชันใน php และเว็บแอป ตัวอย่างง่ายๆ บล็อก. วัตถุใดของบล็อกที่จะใช้งานได้ดีที่สุดเป็นวัตถุแบบสแตติกหรืออินสแตนซ์ คลาส DB? ทำไมไม่ยกตัวอย่างวัตถุ db ในขอบเขตส่วนกลาง? ทำไมไม่ทำให้ทุกวัตถุคงที่แทน? แล้วประสิทธิภาพล่ะ มันเป็นแค่สไตล์หรือไม่? มีวิธีที่เหมาะสมในการทำสิ่งนี้หรือไม่?
170 php  oop  class 

8
การแยกรหัสชั้นเรียนออกเป็นส่วนหัวและไฟล์ cpp
ฉันสับสนเกี่ยวกับวิธีการแยกการใช้งานและรหัสการประกาศของคลาสแบบง่ายเป็นส่วนหัวและไฟล์ cpp ใหม่ ตัวอย่างเช่นฉันจะแยกรหัสสำหรับคลาสต่อไปนี้ได้อย่างไร class A2DD { private: int gx; int gy; public: A2DD(int x,int y) { gx = x; gy = y; } int getSum() { return gx + gy; } };
170 c++  oop  class 

15
ฉันจะใช้วิธีการโอเวอร์โหลดใน Python ได้อย่างไร
ฉันพยายามใช้วิธีการมากไปใน Python: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i): print 'second method', i ob=A() ob.stackoverflow(2) แต่ผลลัพธ์คือsecond method 2; ในทำนองเดียวกัน: class A: def stackoverflow(self): print 'first method' def stackoverflow(self, i): print 'second method', i ob=A() ob.stackoverflow() จะช่วยให้ Traceback (most recent call last): File "my.py", line 9, in &lt;module&gt; …


10
ฉันจะป้องกันการปรับเปลี่ยนเขตข้อมูลส่วนตัวในชั้นเรียนได้อย่างไร
ลองนึกภาพว่าฉันมีคลาสนี้: public class Test { private String[] arr = new String[]{"1","2"}; public String[] getArr() { return arr; } } ตอนนี้ฉันมีคลาสอื่นที่ใช้คลาสด้านบน: Test test = new Test(); test.getArr()[0] ="some value!"; //!!! ดังนั้นนี่คือปัญหา: ฉันได้เข้าถึงสนามส่วนตัวของชั้นเรียนจากภายนอก! ฉันจะป้องกันสิ่งนี้ได้อย่างไร ฉันหมายความว่าฉันจะทำให้อาร์เรย์นี้ไม่เปลี่ยนรูปแบบได้อย่างไร นี่หมายความว่าทุกวิธีทะเยอทะยานคุณสามารถหาทางเข้าถึงฟิลด์ส่วนตัวได้หรือไม่? (ฉันไม่ต้องการห้องสมุดใด ๆ เช่น Guava ฉันแค่ต้องรู้วิธีที่ถูกต้องในการทำเช่นนี้)
165 java  arrays  oop  class 

9
“ Class.forName ()” และ“ Class.forName (). newInstance ()” แตกต่างกันอย่างไร?
ความแตกต่างระหว่างClass.forName()และClass.forName().newInstance()คืออะไร? ฉันไม่เข้าใจความแตกต่างที่สำคัญ (ฉันได้อ่านบางอย่างเกี่ยวกับพวกเขา!) คุณจะกรุณาช่วยฉันหน่อยได้ไหม?
165 java  class 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.