- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
lớp bên ngoài {
lớp bên trong {
}
}
lớp công khai Demo {
public static void main(String args[]) {
Bên ngoài o = mới Bên ngoài();
Outer.Inner bên trong = o.new Inner();
}
}
tại sao vậy
Outer.Inner bên trong = o.new Inner();
KHÔNG
Outer.Inner bên trong = o.new Outer.Inner();
Đó là lý do tại sao phải sử dụng tên lớp bên ngoài để đủ điều kiện bên trong
khai báo kiểu mà không đủ điều kiện cho hàm tạo của lớp bên trong với tên lớp bên ngoài?
Cảm ơn.
câu trả lời hay nhất
因为 o
Đã là một loại bên ngoài
ví dụ như vậy bạn không cần phải tạo một cái khác bên ngoài
ví dụ để tạo nội bộ
Ví dụ. Tùy chọn thứ hai bạn liệt kê có nghĩa là bạn đang tạo một tùy chọn khác có tên bên ngoài
Các thể hiện của các lớp bên trong, ở cấp cao nhất bên ngoài
, nó không tồn tại và xảy ra lỗi (Chỉnh sửa: Chỉ cần nhận thấy. o.new Bên ngoài
Không có dấu ngoặc nào sau đó, điều này khiến tôi nghĩ bạn có thể đã hiểu lý do của tôi trong đoạn thứ hai).
nếu ý bạn là Bên ngoài.Inner()
phải là người xây dựng và không chỉ Bên trong()
, đó là vì Bên ngoài.Inner()
thể hiện Nội tâm
Nó là một lớp bên trong tĩnh. static
không bao giờ được chỉ định, vì vậy bạn cần một bên ngoài
Ví dụ.
Giới thiệu về java - Tại sao `Outer.Inner Inner = o.new Inner();` không phải `Outer.Inner Inner = o.new Outer.Inner();` ? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/56263745/
Tôi biết chúng là loại ẩn danh, nhưng tôi không hiểu cú pháp của Razor. Trong một số tài liệu tôi tìm thấy ví dụ này: @Html.Label("Xin chào", new { htmlAtributes = new { id = "h
Về: new Object(new Array()) Tôi có một câu hỏi khá cơ bản mà tôi thực sự không thể tự đưa ra câu trả lời và tôi đang tìm kiếm lời khuyên: Khi khởi tạo một đối tượng trong js, hãy sử dụng cái gì đó như thế này: var obj = new Object ();
Sự khác biệt giữa "Thư mục mới", "Thư mục nguồn mới" và "Gói mới" khi nhấp chuột phải vào dự án trong Eclipse là gì? Tất cả họ dường như đều đang làm điều tương tự và các trích dẫn không nói lên nhiều điều. Cảm ơn Câu trả lời hay nhất Thư mục mới Tạo một thư mục mới trong dự án. Tạo văn bản nguồn mới
Tôi đã thử nghiệm Bolt-cm được vài ngày và tôi đang cố gắng hiểu cách thức hoạt động của nó. Tôi muốn biết sự khác biệt giữa trang mới, mục mới và chương trình giới thiệu mới. Tôi đã đọc cái này và nó không lấp đầy những khoảng trống. Trang, bài viết và Sh có câu trả lời hay nhất
Cập nhật: Cảm ơn tất cả các câu trả lời. Giải pháp rõ ràng nhất mà tôi tìm thấy là: if ( k(Arrays.asList(new LinkedList<>())); Tôi có một phương pháp đệ quy tạo ra tất cả các kết hợp "k out of n" từ một danh sách.
Bây giờ tôi muốn biết các hướng dẫn này phân bổ bộ nhớ như thế nào. Ví dụ: điều gì sẽ xảy ra nếu tôi nhận được mã: x = new int[5]; y = new int[5]; Nếu những mã này được phân bổ thì nó thực sự nằm trong RAM như thế nào? là giữ lại số nguyên cho mỗi biến
Tôi muốn nó được ghi vào out.txt mà không xóa nó - chỉ cần thêm vào cuối. Tuy nhiên, khi tôi sử dụng hai phương pháp sau: public void addEmails(ArrayList email){ for (i
Tôi đang phân bổ bộ nhớ mà sau này sẽ được sử dụng để xây dựng một đối tượng được đặt mới. Tôi nên sử dụng toán tử mới (n) hay tôi nên sử dụng char [n] mới không dấu? Tại sao? Yếu tố câu trả lời hay nhất: new[] là bắt buộc
Về cơ bản, câu hỏi của tôi là liệu đoạn mã sau có hợp lệ hay không. void* mem = toán tử mới(sizeof(T)); T* instance = new(mem) T; ví dụ:
Xin lỗi nếu câu hỏi này đã được hỏi trước đây, nhưng tôi muốn đưa ra câu trả lời ngắn gọn về sự khác biệt giữa hai cách sử dụng sau đây. VS dường như chấp nhận tất cả chúng dưới dạng mã hợp lệ. khoảng trống tĩnh riêng tư doSomeWork() { /
Vui lòng cho tôi biết đoạn mã này đang làm gì, nó có tạo ra mảng đa chiều không (tôi nghĩ là không)? Đoạn mã.. var hanoi_peg = new Array( new Array( 5, 4, 3, 2, 1,
Câu hỏi này đã có câu trả lời ở đây: Hành vi String intern() (4 câu trả lời) Khi nào chúng ta nên sử dụng phương thức thực tập của String trên Stri
Nhiều người nói rằng bạn nên tránh sử dụng new Object, new Array() và thay vào đó hãy sử dụng {}. [] và đúng/sai. Lợi ích của việc sử dụng cấu trúc theo nghĩa đen để có được một phiên bản mới của một đối tượng hoặc mảng thay vì sử dụng cấu trúc mới là gì? Tôi biết Crockfor
Tôi đang phát triển một thư viện nguồn mở bị rò rỉ bộ nhớ. Thư viện này là một dịch vụ truyền dữ liệu được xây dựng xung quanh boost::asio. Phía máy chủ sử dụng hệ thống quản lý bộ nhớ heap cung cấp bộ nhớ để chứa một số lượng mẫu giới hạn trong khi chúng chờ được đẩy qua kết nối tcp
Tôi đang bị rò rỉ bộ nhớ từ hàm sau: int ReadWrite(int socket, char *readfile) { FILE *rf = NULL;
Khi nghĩ về một cái gì đó như auto x = new T; tiêu chuẩn có yêu cầu bộ nhớ phải đến từ toán tử mới - lớp cụ thể hay toàn cục không? Nghĩa là, nếu toán tử new của lớp cụ thể bị thiếu, không có cách nào để loại bỏ tất cả khỏi
Vì tò mò: tại sao C++ chọn a = new A thay vì a = A.new làm cách khởi tạo một đối tượng? Không phải cái sau hướng đối tượng hơn sao? Câu trả lời hay nhấtChỉ vì tò mò: Tại sao
Hãy xem xét đoạn mã sau: typedef SomeType type_t[2]; SomeType * arr1 = new type_t; //new hay new[] ???
Câu hỏi này đã có câu trả lời ở đây: Sự khác biệt giữa 'toán tử mới' và 'toán tử mới'? (8 câu trả lời) Đã đóng 8 năm trước. Câu hỏi phỏng vấn: nhà điều hành "mới" và
Tôi đang thiết kế giao diện cho một ứng dụng hiển thị một số dữ liệu được lấy từ cơ sở dữ liệu trong TableLayout. Giờ đây, Chế độ xem mặc định có dạng dọc và bao gồm menu thả xuống và bảng ba cột. Khi người dùng chuyển sang chế độ ngang, vòng xoay và các tùy chọn của nó có thể
Tôi là một lập trình viên xuất sắc, rất giỏi!