- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在使用这个声明时我的脑海中浮现出这样的一句话:
Queue q = new LinkedList();
据我了解Queue
是一个接口(interface)并且 LinkedList
类“实现”Queue 具有的所有方法( thêm vào
remove
peek
等)。
不过我看了LinkedList
的源码(openjdk6)才发现该类没有显式实现Queue接口(interface)。
public class LinkedList
extends AbstractSequentialList
implements List, Deque, Cloneable, java.io.Serializable
然后我看了Deque
的源码看到Deque
接口(interface)扩展Queue
界面。这是否意味着通过实现 Deque
, LinkedList
也在实现 Queue 及其所有祖先?
此外,如果我有一个实现了接口(interface)中所有方法的类,我可以在不使用“implements”关键字的情况下使用接口(interface)类型分配该类的对象吗?
1 Câu trả lời
是的,继承是可传递的,有接口(interface)和子类。 IE。如果 B
Phần mở rộng MỘT
Và C
hoàn thành B
,Nhưng C
hoàn thành 一个
.
不,您所描述的是 "duck typing" .
In computer programming with object-oriented programming languages, duck typing is a style of typing in which an object's methods and properties determine the valid semantics, rather than its inheritance from a particular class or implementation of an explicit interface.
这意味着,如果它像鸭子一样行走并且像鸭子一样嘎嘎叫,那么它一定是一只鸭子
。但是,在 Java 中,不支持鸭子类型。类必须显式实现接口(interface)或扩展类才能分配给该接口(interface)类型或父类(super class)类型。
关于java - 类在什么情况下实现接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25938519/
Tôi đang cố gắng tận dụng nhiều hơn các giao diện trong cơ sở mã của mình cho máy chủ trò chơi mà tôi đang viết và hiểu các khái niệm cấp cao cũng như thời điểm nên sử dụng giao diện (tôi nghĩ vậy). Trong trường hợp của tôi, tôi sử dụng chúng để tách các gói hàng của tôi ra khỏi nhau và tạo ra
Tôi có một giao diện gọi là Widget được sử dụng trong suốt dự án của tôi. Tuy nhiên, nó cũng được sử dụng như một Prop cho một thành phần gọi là Widget. Cách tốt nhất để xử lý vấn đề này là gì? Tôi có nên thay đổi tiện ích của mình không?
Có một giao diện có thể là một trong nhiều giao diện giao diện a {x:string} giao diện b {y:string} giao diện c {z:string}
Tôi đã gặp phải tình huống cần phải gọi đến dịch vụ của bên thứ ba để lấy thông tin. Những dịch vụ này có thể khác nhau đối với những khách hàng khác nhau. Tôi có chức năng xác thực trong giao diện của mình như hiển thị bên dưới. giao diện IServiceProvider { bool
Trong trường hợp của tôi, "RequestHandlerProxy" là một struct có các trường là giao diện "IAdapter" có các phương thức có thể được gọi và có đầu vào là một struct "RequestHandlerProxy".
Tôi có một giao diện Interface1 đã được lớp A triển khai và một số giá trị biến riêng tư được thiết lập và tôi đang gửi đối tượng của lớp A đến lớp tiếp theo chấp nhận đầu vào là Interface2. Vậy làm sao tôi có thể
Giả sử tôi có một lớp và cấu trúc giao diện như thế này: interface IService {} interface IEmailService : IService { Task SendAs
Có ai biết tôi có thể tìm thấy định nghĩa về giao diện XML-RPC (trong OpenERP 7) ở đâu không? Tôi muốn biết những tham số và thuộc tính đối tượng nào là cần thiết để tạo hoặc lấy một đối tượng. Các ví dụ XML cho từng phần tử cũng sẽ rất hữu ích. Câu trả lời hay nhất
Gần đây tôi đọc được về quan niệm sai lầm rằng giao diện là trừu tượng. Một bài đăng như vậy là http://blog.ploeh.dk/2010/12/02/InterfacesAreNotAbstract
Nếu tôi có một IInterface con hiện có được triển khai bởi bên thứ ba và tôi muốn thêm các chương trình trợ giúp, liệu Delphi có cung cấp cách dễ dàng nào để thực hiện việc này mà không cần phải chuyển hướng thủ công từng phương thức giao diện không? Nghĩa là, cho
Tôi đang cố gắng gán một mảng Bài viết vào tài liệu Mongoose của mình nhưng Typescript có vẻ không thích điều này và tôi không biết tại sao nó lại hiển thị cảnh báo/lỗi này cho biết không thể gán được. Sơ đồ và giao diện Mongoose của tôi (
Tôi có hai giao diện: public interface IController { void doSomething(IEntity thing); } public inte
Có thể tạo giao diện mở rộng giao diện Serializable không? Nếu có, giao diện mở rộng có hoạt động giống như giao diện Serilizable không?
Tôi đang cố gắng tạo một lớp trung gian giữa hai kho lưu trữ, lớp này lấy dữ liệu từ kho lưu trữ A, chuyển đổi sang kiểu tương ứng trong kho lưu trữ B, sau đó lưu trữ dữ liệu đó. Vì tôi cần chuyển đổi khoảng 50-100 kiểu, tôi hy vọng sẽ sử dụng map[string]func và dựa mã của tôi vào s
Tôi đang thực hiện một yêu cầu trong đó tôi nhận được một đối tượng JSON chứa giá trị ngày dưới dạng chuỗi. Nhiệm vụ của tôi là lưu trữ các đối tượng Ngày trong cơ sở dữ liệu. Loại thứ này: {"start_date": "2019-05-29", "
Mục tiêu của phương pháp tiếp cận của chúng tôi là giới thiệu giao diện cho các lớp mô hình và DAO hiện có của chúng tôi. Các lớp mô hình được xác định bằng nhiều loại ID tài nguyên khác nhau, không chỉ là các số ngẫu nhiên mà còn mang ý nghĩa và hành vi. Vì vậy, chúng ta phải sử dụng các đối tượng thay vì các kiểu nguyên thủy để biểu diễn
Giao diện Collection có nhiều phương thức. Giao diện Danh sách mở rộng giao diện Bộ sưu tập. Nó khai báo cùng một giao diện như Collection (int
Tôi có một ứng dụng máy chủ Java sử dụng Jackson để thực hiện tuần tự hóa chung các DTO bằng API phản chiếu. Ví dụ, đối với giao diện DTO này: gói com.acme.libr
Nếu tôi có một giao diện trong Kotlin: interface KotlinInterface { val id: String } Tôi có thể triển khai nó như thế này: class MyClass
Tôi biết sự khác biệt giữa tất cả các trình sửa đổi truy cập trong Java. Tuy nhiên, tôi đã được hỏi một câu hỏi rất thú vị mà tôi đã rất khó khăn để tìm ra câu trả lời: Sự khác biệt giữa giao diện riêng tư và công khai trong Java là gì?
Tôi là một lập trình viên xuất sắc, rất giỏi!