Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)

本文涉及的产品
访问控制,不限时长
简介: Java基础手册二(类和对象 对象创建和使用 面向对象封装性 构造方法与参数传递 this关键字 static关键字 继承 多态 方法覆盖 final关键字 访问控制权限修饰符)

类和对象

在Java中,类是一种模板或蓝图,用于创建对象。对象是类的实例,具有类定义的属性和行为。

示例代码:

// 定义一个类
public class Car {
    // 类的属性
    String color;
    int speed;
    
    // 类的方法
    void drive() {
        System.out.println("Driving at speed: " + speed);
    }
}
// 创建对象
Car myCar = new Car();
myCar.color = "red";
myCar.speed = 60;
myCar.drive();

对象创建和使用

在Java中,使用new关键字创建类的对象,并通过对象访问类的属性和方法。

示例代码:

// 创建对象
Car myCar = new Car();
// 访问属性
myCar.color = "blue";
myCar.speed = 80;
// 调用方法
myCar.drive();

面向对象封装性

封装是面向对象编程的核心概念之一,它指的是将数据和操作数据的方法捆绑在一起,以防止对数据的直接访问。

示例代码:

public class Car {
    private String color;
    private int speed;
    
    public void setColor(String color) {
        this.color = color;
    }
    
    public void setSpeed(int speed) {
        this.speed = speed;
    }
    
    public String getColor() {
        return color;
    }
    
    public int getSpeed() {
        return speed;
    }
}

构造方法与参数传递

构造方法是一种特殊的方法,用于在创建对象时初始化对象。它与类同名,没有返回类型,并且在创建对象时自动调用。

示例代码:

public class Car {
    private String color;
    private int speed;
    
    // 构造方法
    public Car(String color, int speed) {
        this.color = color;
        this.speed = speed;
    }
    
    // 其他方法...
}

this关键字

this关键字在Java中表示当前对象的引用。它可以用于引用当前对象的属性或调用当前对象的方法。

示例代码:

public class Car {
    private String color;
    
    // 构造方法
    public Car(String color) {
        this.color = color;  // 使用this关键字引用当前对象的属性
    }
    
    // 方法
    public void printColor() {
        System.out.println("Car color: " + this.color);  // 使用this关键字调用当前对象的方法
    }
}

static关键字

static关键字用于声明静态变量和静态方法。静态变量属于类,而不是对象,因此所有对象共享相同的静态变量。

示例代码:

public class Car {
    private static int count;  // 静态变量
    
    // 静态方法
    public static int getCount() {
        return count;
    }
}

继承

继承是一种面向对象编程的机制,允许一个类(子类)继承另一个类(父类)的属性和方法。

示例代码:

// 父类
public class Vehicle {
    public void drive() {
        System.out.println("Driving...");
    }
}
// 子类
public class Car extends Vehicle {
    // 其他方法...
}

多态

多态是面向对象编程的重要概念,它允许一个对象对方法的调用可能会引起不同类的方法调用。

示例代码:

// 父类
public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}
// 子类1
public class Dog extends Animal {
    public void sound() {
        System.out.println("Dog barks");
    }
}
// 子类2
public class Cat extends Animal {
    public void sound() {
        System.out.println
("Cat meows");
    }
}

方法覆盖

方法覆盖是指子类重新定义父类中的方法,以提供新的实现。

示例代码:

// 父类
public class Animal {
    public void sound() {
        System.out.println("Animal makes a sound");
    }
}
// 子类
public class Dog extends Animal {
    @Override
    public void sound() {
        System.out.println("Dog barks");
    }
}

final关键字

final关键字用于声明最终变量,一旦赋值后就不能修改。它还可以用于修饰类和方法,表示不能继承或覆盖。

示例代码:

public class Circle {
    private final double PI = 3.14;
}

访问控制权限修饰符

Java中有四种访问控制权限修饰符:public、protected、default和private,用于控制类、方法和变量的访问权限。

示例代码:

// 默认访问修饰符,只能在同一包中访问
class MyClass {
    // 私有变量,只能在本类中访问
    private int x;
    
    // 公共方法,可以在任何地方访问
    public void setX(int x) {
        this.x = x;
    }
}

感谢您阅读本篇博客!

如果您有任何疑问或建议,请随时在评论区留言。

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
7天前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
42 7
|
1月前
|
Java 程序员
Java 面试高频考点:static 和 final 深度剖析
本文介绍了 Java 中的 `static` 和 `final` 关键字。`static` 修饰的属性和方法属于类而非对象,所有实例共享;`final` 用于变量、方法和类,确保其不可修改或继承。两者结合可用于定义常量。文章通过具体示例详细解析了它们的用法和应用场景。
28 3
|
1月前
|
存储 安全 Java
了解final关键字在Java并发编程领域的作用吗?
在Java并发编程中,`final`关键字不仅用于修饰变量、方法和类,还在多线程环境中确保对象状态的可见性和不变性。本文深入探讨了`final`关键字的作用,特别是其在final域重排序规则中的应用,以及如何防止对象的“部分创建”问题,确保线程安全。通过具体示例,文章详细解析了final域的写入和读取操作的重排序规则,以及这些规则在不同处理器上的实现差异。
了解final关键字在Java并发编程领域的作用吗?
|
2月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
1月前
|
Java 编译器
在Java中,关于final、static关键字与方法的重写和继承【易错点】
在Java中,关于final、static关键字与方法的重写和继承【易错点】
22 5
|
2月前
|
SQL Java 编译器
Java——类与对象(封装)
封装是面向对象编程中的概念,指将数据(属性)和相关操作(方法)组合成独立单元(类),使外部无法直接访问对象的内部状态,只能通过提供的方法进行交互,从而保护数据安全。例如,手机将各种组件封装起来,只暴露必要的接口供外部使用。实现封装时,使用`private`关键字修饰成员变量,并提供`get`和`set`方法进行访问和修改。此外,介绍了包的概念、导入包的方式及其注意事项,以及`static`关键字的使用,包括静态变量和方法的初始化与代码块的加载顺序。
45 10
Java——类与对象(封装)
|
1月前
|
缓存 安全 Java
Java中 final、finally、finalize 有什么区别?
本文详细阐述了Java中`final`、`finally`和`finalize`的区别:`final`用于修饰类、方法和变量以表示不可变性;`finally`是用于确保在`try-catch`结构中无论是否发生异常都能执行的代码块;而`finalize`是`Object`类的方法,用于在对象被垃圾回收前执行清理工作,但在JDK 9中已被标记为弃用。
33 0
Java中 final、finally、finalize 有什么区别?
|
1月前
|
Java
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
这篇文章详细解释了Java中static和final关键字的用法,包括它们修饰类、方法、变量和代码块时的行为,并通过代码示例展示了它们的具体应用。
184 0
Java关键字 —— static 与 final 详细解释!一看就懂 有代码实例运行!
|
2月前
|
安全 Java 数据安全/隐私保护
Java 封装怎么理解
封装是Java中的一种重要机制,它将对象的状态(数据)和行为(方法)打包在一起并控制外部访问权限,以保护数据不被随意修改。封装的主要目的包括数据保护、接口设计和增强模块性。通过使用`private`、`protected`及`public`等访问控制修饰符,结合getter和setter方法,可以有效隐藏对象内部实现细节。下面是一个简单的`BankAccount`类示例,展示了如何通过封装保护类的内部状态,确保数据安全和一致性,简化类的使用。理解封装有助于编写高质量代码和设计优秀程序架构。
|
2月前
|
Java 数据安全/隐私保护
Java 封装详解
在 Java 中,封装是面向对象编程的关键特性,通过将对象的状态(数据)和行为(方法)结合并利用访问控制保护数据,防止外部随意访问和修改。主要特点包括访问控制(如 `private` 和 `protected`)、数据隐藏及方法暴露(如 getter 和 setter)。封装的优点在于保护数据、隐藏实现细节、易于维护以及提高代码可读性。下面是一个简单的 `Person` 类封装示例,展示了如何通过 getter 和 setter 控制对类内部状态的访问,并进行合法性检查。总结而言,封装有助于构建清晰、易用且可维护的代码结构,是编写高质量 Java 程序的重要原则。