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:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
云安全基础课 - 访问控制概述
课程大纲 课程目标和内容介绍视频时长 访问控制概述视频时长 身份标识和认证技术视频时长 授权机制视频时长 访问控制的常见攻击视频时长
相关文章
|
2月前
|
消息中间件 Java Kafka
在Java中实现分布式事务的常用框架和方法
总之,选择合适的分布式事务框架和方法需要综合考虑业务需求、性能、复杂度等因素。不同的框架和方法都有其特点和适用场景,需要根据具体情况进行评估和选择。同时,随着技术的不断发展,分布式事务的解决方案也在不断更新和完善,以更好地满足业务的需求。你还可以进一步深入研究和了解这些框架和方法,以便在实际应用中更好地实现分布式事务管理。
|
28天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
22 1
|
2月前
|
安全 Java 开发者
Java中WAIT和NOTIFY方法必须在同步块中调用的原因
在Java多线程编程中,`wait()`和`notify()`方法是实现线程间协作的关键。这两个方法必须在同步块或同步方法中调用,这一要求背后有着深刻的原因。本文将深入探讨为什么`wait()`和`notify()`方法必须在同步块中调用,以及这一机制如何确保线程安全和避免死锁。
45 4
|
2月前
|
Java
深入探讨Java中的中断机制:INTERRUPTED和ISINTERRUPTED方法详解
在Java多线程编程中,中断机制是协调线程行为的重要手段。了解和正确使用中断机制对于编写高效、可靠的并发程序至关重要。本文将深入探讨Java中的`Thread.interrupted()`和`Thread.isInterrupted()`方法的区别及其应用场景。
45 4
|
2月前
|
Java 数据处理 数据安全/隐私保护
Java处理数据接口方法
Java处理数据接口方法
27 1
|
2月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限
访问控制列表(ACL)是网络安全中的一种重要机制,用于定义和管理对网络资源的访问权限。它通过设置一系列规则,控制谁可以访问特定资源、在什么条件下访问以及可以执行哪些操作。ACL 可以应用于路由器、防火墙等设备,分为标准、扩展、基于时间和基于用户等多种类型,广泛用于企业网络和互联网中,以增强安全性和精细管理。
239 7
|
2月前
|
安全 网络安全 数据安全/隐私保护
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。
访问控制列表(ACL)是网络安全管理的重要工具,用于定义和管理网络资源的访问权限。ACL 可应用于路由器、防火墙等设备,通过设定规则控制访问。其类型包括标准、扩展、基于时间和基于用户的ACL,广泛用于企业网络和互联网安全中,以增强安全性、实现精细管理和灵活调整。然而,ACL 也存在管理复杂和可能影响性能的局限性。未来,ACL 将趋向智能化和自动化,与其他安全技术结合,提供更全面的安全保障。
112 4
|
2月前
|
网络协议 安全 网络性能优化
了解访问控制列表 (ACL):概念、类型与应用
了解访问控制列表 (ACL):概念、类型与应用
79 2
|
2月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
62 2
|
3月前
|
网络协议 网络虚拟化 数据安全/隐私保护
访问控制列表(ACL)配置
访问控制列表(ACL)配置
访问控制列表(ACL)配置