Java类和对象

在 java中类和对象是java编程语言中的核心概念,类和对象的关系非常密切。类是对象的模板,而对象则是基于类的定义创建的具体实例。接下来由我来向大家讲解类和对象这两个概念,并通过一些例子来帮忙大家理解它们。

类的定义与对象的创建

类(class)和对象(object)是面向对象编程技术中的两个基本概念。类是对对象的抽象,它是一种抽象的数据类型,是现实世界或思维世界中的实体在计算机中的反映。它将数据以及这些数据上的操作封装在一起。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。对象是具有类类型的变量,是类的具体实例。对象是对客观事物的抽象。类是抽象的,不占用内存,而对象是具体的,占用存储空间。

总的来说,类和对象的关系是:类是对象的抽象,而对象是类的具体实例。

面向对象的基本概念

对象:对象是表示现实世界中某个具体的事务。它由描述事务的属性和体现事务的行为构成一个独立整体。

类:面向对象编程中,类具有相同属性行为的一组对象的集合。它提供一个抽象的描述,其内容包括属性和行为两个主要部分。

抽象:抽象是通过特定的实例抽取共同特征以后形成概念的过程。抽象化主要是为了降低复杂度,是面向对象思想的本质。

在面向对象定义中,也规定了一些基本的特征

1.封装:保护内部的操作不被破坏。

2.继承:在原本的基础上继续进行扩充。

3.多态:在一个指定的范围内进行概念的转换。

也可以把类看做是模型,创建类就是创建模型,有了类模型才可以利用它来创建对象。例如,汽车制造厂要生产一辆汽车,则先要打造一个汽车模型(定义一个类),然后再由此模型制作出相应的汽车(创建对象)。

1.类中包括属性及行为

  • 属性通过成员变量存储
  • 行为通过方法实现

将属性与行为作为一个整体,以类的形式进行定义。

2.只需知道如何使用类,而不必知道是如何工作。这种机制叫“封装”。

  1. 类的定义
[访问修饰符]class类名{
成员变量
成员方法
}
成员变量的定义:
[访问修饰符]数据类型变量名;
成员方法的定义:
[访问修饰符]返回值方法名([形参列表]){
方法体
}

2.对象的创建

类名对象名=new类名([实参列表]);
或
类名对象名;
对象名=new类名([实参列表]);
访问修饰符

访问修饰符是用来控制类、属性、方法的可见性的关键字。主要有五种访问修饰符,包括:

public:公有访问,不受任何限制。
private:私有访问,只限于本类成员访问,子类、实例都不能访问。
protected:保护访问,只限于本类和子类访问,实例不能访问。
internal:内部访问,只限于本项目内访问,其他不能访问。
protected internal:保护内部访问,只限于本项目或是子类访问,其他不能访问。
public > protected >默认>private 

接下来用一个例子来帮忙大家理解类和对象的创建:

// 定义一个Person类  
public class Person {  
    // 成员变量  
    private String name;  
    private int age;  
  
    // 构造函数  
    public Person(String name, int age) {  
        this.name = name;  
        this.age = age;  
    }  
  
    // 方法  
    public void introduce() {  
        System.out.println("My name is " + name + " and I am " + age + " years old.");  
    }  
}  
  
// 在主函数中创建Person对象并调用方法  
public class Main {  
    public static void main(String[] args) {  
        // 创建Person对象  
        Person person1 = new Person("Alice", 25);  
        Person person2 = new Person("Bob", 30);  
  
        // 调用对象的方法  
        person1.introduce();  // 输出: My name is Alice and I am 25 years old.  
        person2.introduce();  // 输出: My name is Bob and I am 30 years old.  
    }  
}

getter与setter方法

getter方法 :

get方法用于获取对象的私有属性的值。这些方法通常命名为get后跟属性名,并且没有参数。例如,对于一个名为firstName的私有属性,相应的get方法可能是getFirstName()
返回对象内部的成员变量的值 
格式: 
[访问修饰符] 成员变量类型getXxx(){
return  成员变量;
}

实例:

public String getFirstName() {  
    return firstName;  
}
setter方法 :

set方法用于修改对象的私有属性的值。这些方法通常命名为set后跟属性名,并且有一个参数,用于接收新的属性值。例如,对于一个名为firstName的私有属性,相应的set方法可能是setFirstName
 用来设置成员变量,可以在方法里面过滤掉一些不合理的值 
格式: 
[访问修饰符] void setXxx(成员变量类型 参数)  { 
      
成员变量=参数;  

实例:

public void setFirstName(String firstName) {  
    this.firstName = firstName;  
}
异常的处理:

1.抛出异常:当方法内部出现异常时,可以使用throw关键字将异常抛出                                   throw new Exception("***");

1.捕获异常:在方法内部,可以使用try-catch块来捕获并处理异常。如果try块中的代码抛出异常,控制流将立即转移到相应的catch块 

try {  
    // 可能抛出异常的代码  
} catch (SomeException e) {  
    // 处理异常的代码  
    e.printStackTrace();  
}

注意事项

  1. 封装:使用get和set方法可以帮助实现封装,这是面向对象编程的一个重要概念。通过将属性的访问和修改限制在这些方法中,可以在不破坏对象封装性的情况下修改或扩展类的行为。
  2. 安全性:通过使用get和set方法,可以确保对私有属性的访问是受控的,从而减少直接访问可能带来的错误或安全风险。
  3. 一致性:使用标准的命名约定(如上述的getFirstName()和setFirstName)有助于保持代码的一致性和可读性。
  4. 扩展性:如果需要添加额外的逻辑(例如验证或触发器),可以在set方法中实现,而无需修改使用该属性的其他代码。
  5. 非final属性:如果一个属性被声明为final(即不可变),那么通常不需要为其提供set方法。

          

  • 26
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值