Cổng Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : java public abstract class

Trong C ++, nếu một lớp có ít nhất một hàm thuần ảo , thì lớp trở nên trừu tượng. Không giống như C ++, trong Java, một từ khóa riêng biệt được sử dụng để làm cho một lớp trở nên trừu tượng. abstract là một công cụ sửa đổi java áp dụng cho lớp phương thức trong java but.

Hình minh họa: Lớp trừu tượng

 Lớp trừu tượng Hình dạng
{
    màu int;
    // Một hàm trừu tượng
    trừu tượng void draw ();
} 

Trong java, sau đây là một số về các lớp trừu tượng như sau:

  1. Một phiên bản của lớp trừu tượng có thể không được tạo.
  2. Cho phép các hàm tạo.
  3. Chúng ta có thể có một lớp trừu tượng mà không cần bất kỳ phương thức trừu tượng nào.
  4. Có thể có một phương thức cuối cùng < / strong> trong lớp trừu tượng nhưng bất kỳ phương thức trừu tượng nào trong lớp (lớp trừu tượng) không thể được khai báo là cuối cùng hoặc theo các thuật ngữ đơn giản hơn phương thức cuối cùng không thể tự trừu tượng vì nó sẽ dẫn đến lỗi: “Sự kết hợp bất hợp pháp của các bổ ngữ: trừu tượng và cuối cùng”
  5. Chúng tôi không được phép tạo các đối tượng cho một lớp trừu tượng.
  6. Chúng tôi có thể xác định các phương thức tĩnh trong một lớp trừu tượng
  7. Chúng tôi có thể sử dụng trừu tượng từ khóa để khai báo là trừu tượng
  8. Nếu một lớp chứa ít nhất một phương thức trừu tượng thì bắt buộc phải khai báo một lớp là trừu tượng
  9. Nếu Lớp con không thể cung cấp triển khai ion đối với tất cả các phương thức trừu tượng của Lớp cha thì chúng ta nên khai báo rằng Lớp con là trừu tượng để cấp tiếp theo Lớp con sẽ cung cấp triển khai cho phương thức trừu tượng còn lại

Hãy để chúng tôi trình bày chi tiết về những quan sát này và chứng minh chúng với sự trợ giúp của các chương trình java sạch như sau.

Quan sát 1: Trong Java, rất có thể trong C ++ không thể tạo một thể hiện của lớp trừu tượng, mặc dù vậy chúng ta có thể có các tham chiếu đến kiểu lớp trừu tượng. Nó như được hiển thị bên dưới thông qua chương trình java sạch.

Ví dụ

Java

trừu tượng class Cơ sở {

abstract void fun ();

}

class Có nguồn gốc mở rộng Cơ sở {

void < code class = "trơn"> fun ()

{

System.out.println ( "Niềm vui bắt nguồn () được gọi là" );

< code class = "undefined space"> }

} < / code>

class Chính {

public static void main (String args [])

{

Cơ sở b = new Derived ();

b.fun ();

}

}

  
 

Đầu ra

 Niềm vui bắt nguồn () được gọi là 

Quan sát 2: Thích C ++, một lớp trừu tượng có thể chứa hàm tạo trong Java. Và một phương thức khởi tạo của một lớp trừu tượng được gọi khi một thể hiện của một lớp kế thừa được tạo ra. Nó được hiển thị trong chương trình dưới đây như sau:

Ví dụ

Java

trừu tượng class Cơ sở {

Base ()

{

< code class = "trơn"> System.out.println ( "Đã gọi hàm tạo cơ sở" );

}

abstract void fun ();

}

< p class = "line number19 index18 alt2">

class Có nguồn gốc mở rộng Cơ sở {

Derived ()

{ < / p>

System.out.println ( " Derived Constructor đã gọi " );

}

void fun ()

{

System.out.println ( "Niềm vui bắt nguồn () được gọi là" );

}

}

class GFG {

public static void main (String args [])

{< / code>

Có nguồn gốc d = new Derived ();

< code class = "undefined space"> d.fun ();

}

} < / p>

 
 

Đầu ra

 Khối tạo cơ sở được gọi
Đã gọi hàm tạo có nguồn gốc
Niềm vui bắt nguồn () được gọi là

Quan sát 3: Trong Java, chúng ta có thể có. Điều này cho phép chúng tôi. Nó như hình dưới đây với sự trợ giúp của một chương trình java sạch.

Ví dụ

Java

abstract class Cơ sở {

void fun ()

{

< p class = "line number12 index11 alt1"> System.out.println ( " Chức năng của lớp Cơ sở được gọi là " );

< / code> }

}

class Có nguồn gốc mở rộng Cơ sở {

}

class Chính {

public static void main (Chuỗi args [])

{

Xuất phát d = new Derived ();

d.fun ();

}

}

 

< pre id = "ide-url"> Đầu ra

 Chức năng của lớp Cơ sở được gọi là 

Quan sát 4: (các phương thức đó không thể bị ghi đè)

Ví dụ

Java

abstract class Cơ sở {

final void fun ()

< code class = "undefined space"> {

< / code> System.out.println ( "Base fun () được gọi là" );

}

< p class = "line number12 index11 alt1"> }

class Có nguồn gốc từ khóa mở rộng Cơ sở {

}

< p class = "line number21 index20 alt2"> class GFG {

public static void chính (Chuỗi args [])

{

Base b = new Derived ();

b.fun ();

}

}

 
 

Đầu ra

 Base fun () được gọi là 

Quan sát 5: Đối với bất kỳ lớp java trừu tượng nào, chúng tôi không được phép tạo một đối tượng, tức là trừu tượng lập trình lớp không phải là khả thi.

Ví dụ

Java

abstract class GFG {

public static void main (String args [])

{

GFG gfg = < / code> new GFG ();

}

}

 
 

< p> Đầu ra:

Quan sát 6: Tương tự như giao diện

Ví dụ

Java

trừu tượng class Trình trợ giúp {

< / code> static void demofun ()

{

System.out.println ( "Geeks dành cho Geeks " );

< code class = "trơn">}

}

public class GFG mở rộng Người trợ giúp {

public tĩnh void main (String [] args)

{

Helper.demofun ();

}

}

 
 

Đầu ra

 Geeks cho Geeks 

Quan sát 7: Chúng tôi có thể sử dụng tóm tắt từ khóa để khai báo các lớp cấp cao nhất (Bên ngoài class) cũng như các lớp bên trong dưới dạng trừu tượng

Java

nhập java.io. *;

trừu tượng class B {

abstract class C {

abstract void myAbstractMethod ();

}

}

class D mở rộng B {< / code>

class E mở rộng C {

< code class = "undefined space">

void < / code> myAbstractMethod () {System.out.println ( "Bên trong triển khai phương thức trừu tượng" ); }

}

}

public class Chính {

public static void main (Chuỗi args [])

< p class = "line number19 index18 alt2"> {

D ngoài = new D ();

D.E inside = external. new E ();

inner.myAbstractMethod ();

}

}

 
 

Đầu ra:

 Triển khai phương thức trừu tượng bên trong 

Quan sát 8: Nếu một lớp chứa ít nhất một phương thức trừu tượng thì bắt buộc chúng tôi nên khai báo lớp là trừu tượng nếu không chúng ta sẽ gặp lỗi thời gian biên dịch vì Nếu một lớp chứa ít nhất một phương thức trừu tượng thì việc triển khai không hoàn thành cho lớp đó và do đó không nên tạo một đối tượng như vậy để hạn chế việc tạo đối tượng cho các lớp từng phần như vậy, chúng tôi sử dụng từ khóa trừu tượng.

Java

nhập java.io. *;

< p class = "line number6 index5 alt1">

abstract class Bản trình diễn {

trừu tượng void m1 ();

}

class Con mở rộng Demo {

public void m1 ()

{

System.out.print ( "Xin chào" );

}

}

class GFG {

public static void main (String [] args)

{

< code class = "undefined space"> Con c = new Con ( );

c.m1 ();

}

}

 
 

Đầu ra:

 Xin chào 

Quan sát 9: Nếu lớp Con không thể để cung cấp triển khai cho tất cả các phương thức trừu tượng của lớp Cha thì chúng ta nên khai báo lớp Con đó là lớp trừu tượng để lớp Con cấp tiếp theo sẽ cung cấp triển khai cho phương thức trừu tượng còn lại.

Java < / h2>

< br />

nhập java.io. *;

abstract class Bản trình diễn {

< p class = "line number5 index4 alt2"> abstract void < code class = "trơn"> m1 ();

abstract void m2 ();

abstract void m3 () ;

}

abstract class FirstChild mở rộng Bản trình diễn {

public void m1 () {

System.out. println ( "Inside m1" );

}

}

class SecondChild mở rộng FirstChild {

public void m2 () {

System.out.println ( " Inside m2 " );

}

public void m3 () {

< / code> System.out.println ( "Inside m3" );

}

}

class GFG {

public static void main (String [] args)

< code class = "trơn"> {

< p class = "line number33 index32 alt2">

SecondChild s = new SecondChild ();

< / code> s.m1 ();

< code class = "trơn"> s.m2 ();

s.m3 ();

}

}

 
 

Đầu ra:

 Inside m1
Trong m2
Bên trong m3 

Phải đọc:

Vui lòng viết bình luận nếu bạn thấy bất kỳ điều gì không chính xác hoặc nếu bạn muốn chia sẻ thêm thông tin về chủ đề đã thảo luận ở trên.

My Personal Notes


Xem thêm những thông tin liên quan đến chủ đề java public abstract class

When to use an abstract class in Java - 038

alt

  • Tác giả: Deege U
  • Ngày đăng: 2015-11-03
  • Đánh giá: 4 ⭐ ( 8787 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In Java, an abstract class is a class definition where we don't provide all the implementation details. The class has the keyword "abstract" added to it here. We denote abstract classes in our diagrams by making the class name in italics.

    We can also mark some of the methods as abstract. That means we just provide the method signature and return type, but we don't provide the Java block that implements the method. We mark the methods with the keyword "abstract". Note the method has no braces, no implementation, and just ends with a semi-colon. Again we use italics for abstract methods in our diagrams.

    If we declare a class as abstract, the methods may or may not be abstract. We don't need to have any abstract methods. It would be weird, because what would be the point, but we can do it. The opposite isn't true. If we mark any method as abstract, we must mark the class as abstract.

    Another note. We can’t have a method that is abstract and private. We couldn’t access it, and there’s really no point. If you’re protecting it for subclasses, you’ll want to use protected.

    java programming tutorial


    Like the video? Don't forget to subscribe! ➜ http://www.deegeu.com/subscribe


    Keep up to date with the newsletter! ➜ http://www.deegeu.com/newsletter/

    Transcript and code: : http://www.deegeu.com/when-to-use-an-abstract-class-in-java/

    Concepts: Java, classes, abstract classes, Compile-time safety

    Social Links: Don't hesitate to contact me if you have any further questions.
    WEBSITE : dj@deegeu.com
    TWITTER : http://www.twitter.com/deege
    FACEBOOK: https://www.facebook.com/deegeu.programming.tutorials
    GOOGLE+ : http://google.com/+Deegeu-programming-tutorials

    Hosted by DJ Spiess
    About Me: http://www.deegeu.com/about-programming-tutorial-videos/

    Related Videos:

    What are static factory methods in Java? - 036
    https://youtu.be/sOpbAOX5nJs

    Free Java Course Online
    https://www.youtube.com/watch?v=yxwdKX7ErJ4&list=PLZlGOBonMjFVq9FF0eiS_emcFmP-0fSBe

    Media credits: All images are owned by DJ Spiess unless listed below:

    Cookies
    https://videos.pexels.com under CC0

    Music
    Easy Jam by Kevin MacLeod is licensed under a Creative Commons Attribution license (https://creativecommons.org/licenses/by/4.0/)
    Source: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100245
    Artist: http://incompetech.com/

Lớp abstract trong java

  • Tác giả: viettuts.vn
  • Đánh giá: 3 ⭐ ( 7260 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Một lớp được khai báo với từ khóa abstract là lớp abstract trong Java. Lớp abstract trong java có thể có các phương thức abstract hoặc non-abtract.

Abstract class trong java với ví dụ cụ thể

  • Tác giả: shareprogramming.net
  • Đánh giá: 5 ⭐ ( 4021 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: class được khai báo với từ khóa abstract được gọi là abstract class. Abstract class có thể chứa các abstract method và các method thông thường.

Can we create public static abstract class in java?

  • Tác giả: stackoverflow.com
  • Đánh giá: 5 ⭐ ( 3805 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Abstract Methods and Classes (The Java™ Tutorials > Learning the Java Language > Interfaces and Inheritance)

  • Tác giả: docs.oracle.com
  • Đánh giá: 4 ⭐ ( 1855 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: This beginner Java tutorial describes fundamentals of programming in the Java programming language

Abstract class in Java

By ads_php