Java类和对象

AI-摘要
Aurorp1g GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
Java类和对象
Aurorp1g在 Java 中,类、对象和变量是面向对象编程的核心概念,而关键字是 Java 语言中具有特殊含义的保留字,用于执行特定的操作或表达特定的语义。以下是与类、对象和变量相关的 Java 关键字的总结,包括类的访问权限相关的关键词:
类相关的关键词
class
- 用于定义一个类,类是 Java 中面向对象编程的基本构建块,它封装了数据和操作数据的方法。
- 示例:
1
2
3public class MyClass {
// 类的内容
}
extends
- 用于指定一个类继承另一个类,继承允许子类继承父类的属性和方法。
- 示例:
1
2
3public class SubClass extends SuperClass {
// 子类的内容
}
implements
- 用于指定一个类实现一个或多个接口,接口定义了一组方法,实现接口的类必须提供这些方法的具体实现。
- 示例:
1
2
3public class MyClass implements MyInterface {
// 类的内容
}
final
- 当用于类时,表示该类不能被继承。即不能有子类。
- 示例:
1
2
3public final class FinalClass {
// 类的内容
}
abstract
- 用于定义抽象类,抽象类不能被实例化,只能被继承。抽象类可以包含抽象方法(没有实现的方法)。
- 示例:
1
2
3public abstract class AbstractClass {
// 抽象类的内容
}
interface
- 用于定义接口,接口是一种特殊的类,它包含抽象方法和常量。类可以通过
implements
关键字实现接口。 - 示例:
1
2
3public interface MyInterface {
void myMethod();
}
- 用于定义接口,接口是一种特殊的类,它包含抽象方法和常量。类可以通过
对象相关的关键词
new
- 用于创建一个类的新实例,即创建对象。使用
new
关键字调用类的构造方法来初始化对象。 - 示例:
1
MyClass obj = new MyClass();
- 用于创建一个类的新实例,即创建对象。使用
this
- 用于引用当前对象本身。可以在类的方法中使用
this
来访问当前对象的属性和方法。 - 示例:
1
2
3
4
5
6
7
8
9
10
11public class MyClass {
int x;
public MyClass(int x) {
this.x = x; // 使用 this 引用当前对象的属性
}
public void myMethod() {
System.out.println(this.x); // 使用 this 引用当前对象的方法
}
}
- 用于引用当前对象本身。可以在类的方法中使用
super
- 用于引用当前对象的父类对象。可以在子类的方法中使用
super
来访问父类的属性和方法,或者调用父类的构造方法。 - 示例:
1
2
3
4
5
6
7
8
9public class SubClass extends SuperClass {
public SubClass() {
super(); // 调用父类的构造方法
}
public void myMethod() {
super.myParentMethod(); // 调用父类的方法
}
}
- 用于引用当前对象的父类对象。可以在子类的方法中使用
instanceof
- 用于判断一个对象是否是某个类的实例。它返回一个布尔值,表示对象是否属于指定的类或其子类。
- 示例:
1
2
3if (obj instanceof MyClass) {
System.out.println("obj 是 MyClass 的实例");
}
变量相关的关键词
static
- 用于声明属于类的静态变量,而不是属于类的某个对象。静态变量在内存中只有一份副本,被该类的所有实例共享。
- 示例:
1
2
3
4
5
6
7public class MyClass {
static int count = 0; // 静态变量
public MyClass() {
count++;
}
}
final
- 当用于变量时,表示该变量是常量,一旦被赋值,就不能被修改。
- 示例:
1
2
3public class MyClass {
public static final double PI = 3.14159; // 常量
}
transient
- 用于指定一个变量不应被序列化。当对象被序列化时(例如保存到文件或通过网络传输),
transient
变量的值不会被保存。 - 示例:
1
2
3public class MyClass implements Serializable {
transient int tempVar; // 不会被序列化的变量
}
- 用于指定一个变量不应被序列化。当对象被序列化时(例如保存到文件或通过网络传输),
volatile
- 用于指定一个变量的值可能在多个线程之间变化。
volatile
变量的值会直接读取和写入主内存,确保多线程环境下的可见性。 - 示例:
1
2
3public class MyClass {
volatile boolean flag; // 多线程可见的变量
}
- 用于指定一个变量的值可能在多个线程之间变化。
类的访问权限相关的关键词
public
- 公共访问权限,表示类可以被任何其他类访问。
- 示例:
1
2
3public class PublicClass {
// 类的内容
}
protected
- 受保护访问权限,表示类只能在同一个包中访问,或者在不同包中通过继承访问。
- 示例:
1
2
3protected class ProtectedClass {
// 类的内容
}
default
(包访问权限)- 默认访问权限,表示类只能在同一个包中访问。
- 示例:
1
2
3class DefaultClass {
// 类的内容
}
private
- 私有访问权限,表示类只能在定义它的类内部访问,不能被其他类访问。
- 示例:
1
2
3private class PrivateClass {
// 类的内容
}
这些关键词在 Java 编程中起着关键作用,帮助开发者定义类、创建对象、管理变量以及实现面向对象的特性。
评论
匿名评论隐私政策