Java 知识量:11 - 45 - 220
面向对象的基本概念包括以下三个方面:
对象(Object):对象是面向对象的基本组成单元,它表示现实世界中的实体或概念。在Java等面向对象的编程语言中,对象可以是具体的实体,例如一个苹果、一辆汽车等,也可以是抽象的概念,例如一个函数、一段代码等。每个对象都有其自己的属性和行为,这些属性和行为可以通过对象的方法来访问和改变。
类(Class):类是对具有相同属性和行为的对象的抽象描述。在Java中,类是一个定义了变量(属性)和方法(行为)的蓝图或模板,用于创建具有相同属性和行为的对象。每个类都有自己的名称和定义,并且可以拥有多个实例(对象)。
面向对象编程(Object-Oriented Programming):面向对象编程是一种程序设计方法,它将现实世界中的实体和概念抽象成对象,并将对象组合起来完成特定的任务。在Java等面向对象的编程语言中,通过定义类和创建对象来实现面向对象编程。面向对象编程具有封装、继承、多态等特性,使得代码更易于理解、开发和维护。
定义一个类通常需要以下几个步骤:
1、声明类名和类的访问修饰符(public、private、protected 或默认的):
public class MyClass { //类的内容 }
2、声明类的成员变量(也称为属性或字段):
public class MyClass { int myVariable; //成员变量 }
3、声明类的构造函数:
public class MyClass { int myVariable; public MyClass() { //构造函数内容 } }
4、声明类的方法:
public class MyClass { int myVariable; public MyClass() { //构造函数内容 } public void myMethod() { //方法内容 } }
类可以包含字段和方法。
字段(Fields):字段是类中的变量,它们描述了对象的状态。在类中,可以声明变量,这些变量将成为该类的字段。
方法(Methods):方法是类中的操作或行为。它们是执行特定任务的代码块。方法可以在类中被定义,并且可以有参数和返回值。
在Java中,声明字段(也称为属性或变量)的句法如下:
[访问修饰符] [static] [final] [数据类型] 字段名;
其中:
访问修饰符:指定字段的访问权限,可以是 public、protected、private 或默认的(没有修饰符)。
static:表示该字段是静态字段,属于类而不是对象。
final:表示该字段是一个常量字段,不能被修改。
数据类型:指定字段的数据类型,可以是任何有效的Java数据类型,如 int、String、Object 等。
字段名:指定字段的名称。
以下是一些示例:
public int age; private String name; protected double salary; static boolean isMarried; final int MAX_VALUE = 100;
在声明字段时,需要注意以下几点:
字段名应该使用驼峰命名法,并具有描述性。
访问修饰符应该根据字段的用途和需求来选择。
对于常量字段,应该使用 final 关键字声明,并在声明时进行初始化。
声明类方法的句法如下:
[访问修饰符] [static] [final] [return类型] 方法名(参数列表) { // 方法体 }
其中:
访问修饰符:指定方法的访问权限,可以是 public、protected、private 或默认的(没有修饰符)。
static:表示该方法是静态方法,属于类而不是对象。
final:表示该方法是一个最终方法,不能被重写。
return类型:指定方法的返回类型,可以是任何有效的Java数据类型,如 int、String、Object 等,如果方法没有返回值,则返回类型为 void。
方法名:指定方法的名称。
参数列表:指定方法的参数类型和参数名,多个参数之间用逗号分隔。
以下是一些示例:
public void printHello() { System.out.println("Hello, World!"); } private int add(int a, int b) { return a + b; } static final double PI = 3.14159;
在声明方法时,需要注意以下几点:
方法名应该使用驼峰命名法,并具有描述性。
访问修饰符应该根据方法的用途和需求来选择。
对于没有返回值的方法,返回类型应该是 void。
没有使用static修饰符的字段为实例字段。实例字段是类的成员变量,也称为属性或字段。每个对象都有其自己的实例字段的副本,这些字段存储了关于对象状态的信息。
例如,假设有一个名为Person的类,它有两个实例字段:name和age。
public class Person { String name; int age; }
在这个例子中,name和age就是Person类的实例字段。每当创建一个新的Person对象时,都会为这些字段创建新的存储空间。可以通过“.”运算符来访问或设置这些字段的值。
Person person = new Person(); person.name = "Alice"; person.age = 30;
在上述代码中,首先创建了一个新的Person对象,然后分别设置了它的name和age字段的值。
实例方法操作的是类的具体实例(对象),只要方法没有用static关键字声明,该方法默认为实例方法。
每当创建类的新对象时,都会为该方法创建一个新的实例。实例方法可以直接访问类的非静态成员(实例变量/实例字段)和其他非静态方法。
以下是一个简单的Java类,其中包含一个实例方法:
public class MyClass { // 成员变量 private String myVariable; // 构造方法 public MyClass(String myVariable) { this.myVariable = myVariable; } // 实例方法 public void myMethod() { System.out.println(this.myVariable); } }
可以创建这个类的实例并调用它的实例方法:
public class Main { public static void main(String[] args) { // 创建 MyClass 的实例 MyClass myObject = new MyClass("Hello, world!"); // 调用实例方法 myObject.myMethod(); // 输出 "Hello, world!" } }
在上面的例子中,myMethod是一个实例方法,它可以直接访问类的实例变量myVariable。当创建MyClass的实例并调用myMethod时,它会打印出在创建对象时传入的字符串。
this是一个引用变量,它引用当前对象,即正在执行的对象。当一个对象调用一个方法时,该方法中的this引用将指向调用该方法的对象。
this引用在以下情况下非常有用:
1、区分实例变量和局部变量:如果实例变量和局部变量具有相同的名称,则可以使用this引用来引用实例变量。例如:
public class MyClass { private int x; public void setX(int x) { this.x = x; } }
在上面的例子中,“this.x”引用实例变量“x”,而不是方法参数“x”。
2、在构造函数中引用当前对象:在构造函数中,可以使用this引用来引用当前正在构造的对象。例如:
public class MyClass { private int x; public MyClass(int x) { this.x = x; } }
在上面的例子中,“this.x”引用当前对象的实例变量“x”。
3. 在方法中引用当前对象:在方法中,可以使用this引用来引用当前正在执行的对象。例如:
public class MyClass { private int x; public void printX() { System.out.println(this.x); } }
在上面的例子中,“this.x”引用当前对象的实例变量“x”。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6