📅  最后修改于: 2023-12-03 15:16:32.762000             🧑  作者: Mango
Java是一种面向对象的编程语言,它提供了丰富的抽象和访问修饰符来帮助程序员更好地组织和管理代码。本文将介绍Java中的抽象和公共访问修饰符,并提供相关示例。
抽象是一种对现实世界中的事物进行概括、提取出共性而得到的概念。在Java中,我们也可以通过抽象来提取出一些共性,从而方便代码的管理和重用。
抽象类是一种不能被实例化的类,它的主要作用是为其它类提供一个公共的抽象类或者抽象接口。抽象类中可以包含一些具体的方法实现,也可以包含一些抽象方法,其具体实现由其子类去完成。
定义一个抽象类使用关键字 abstract
,示例代码如下:
public abstract class AbstractClass {
// 具体方法实现
public void concreteMethod() {
System.out.println("This is a concrete method.");
}
// 抽象方法
public abstract void abstractMethod();
}
上面的代码中,我们定义了一个抽象类 AbstractClass
,其中包含了一个具体的方法 concreteMethod
和一个抽象方法 abstractMethod
。注意,在抽象类中可以包含具体方法的实现,但抽象方法必须在其子类中实现。
抽象方法是一种没有实现体的方法,其具体实现由其子类去完成。在Java中,我们可以通过在方法签名前加上 abstract
关键字来定义一个抽象方法。
示例代码如下:
public abstract void abstractMethod();
上面的代码中,我们定义了一个抽象方法 abstractMethod
,其具体实现由其子类去完成。
抽象类和抽象方法主要用于以下场景:
Java中提供了四种访问修饰符,分别是 public
、private
、protected
和 default
,其中,public
是最常用的访问修饰符之一。
使用 public
来修饰类、方法、字段等,表示它们可以被任何其他类访问。示例代码如下:
public class MyClass {
public void publicMethod() {
// 具体方法实现
}
public String publicField = "This is a public field.";
}
在上面的代码中,我们使用 public
来修饰了类 MyClass
、方法 publicMethod
和字段 publicField
,表示它们可以被任何其他类访问。
使用 private
来修饰方法、字段等,表示它们只能被该类内部的其他方法所访问。示例代码如下:
public class MyClass {
private void privateMethod() {
// 具体方法实现
}
private String privateField = "This is a private field.";
}
在上面的代码中,我们使用 private
来修饰了方法 privateMethod
和字段 privateField
,表示它们只能被类内部的其他方法所访问。
使用 protected
来修饰方法、字段等,表示它们可以被该类内部的其他方法和该类的子类访问。示例代码如下:
public class MyClass {
protected void protectedMethod() {
// 具体方法实现
}
protected String protectedField = "This is a protected field.";
}
在上面的代码中,我们使用 protected
来修饰了方法 protectedMethod
和字段 protectedField
,表示它们只能被该类内部的其他方法和该类的子类访问。
当没有使用以上三种修饰符时,系统默认使用 default
来修饰方法、字段等,表示它们只能被该类所在的包内的其他类访问。示例代码如下:
public class MyClass {
void defaultMethod() {
// 具体方法实现
}
String defaultField = "This is a default field.";
}
在上面的代码中,我们没有使用任何访问修饰符来修饰方法 defaultMethod
和字段 defaultField
,系统将其默认为 default
,表示它们只能被该类所在的包内的其他类所访问。
本文介绍了Java中的抽象和公共访问修饰符,包括抽象类、抽象方法以及访问修饰符 public
、private
、protected
和 default
。抽象和访问修饰符是Java中面向对象编程的重要特性,程序员应当熟练掌握。