Java自定义类:打造属于自己的编程世界

这篇具有很好参考价值的文章主要介绍了Java自定义类:打造属于自己的编程世界。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Java自定义类:打造属于自己的编程世界

🧑‍💻CSDN主页:夏志121的主页

📋专栏地址:Java核心技术专栏

目录

一、自定义类示例

二、隐式参数与显式参数

三、封装的优点


        自定义类是Java中最基本、也是最重要的组成部分之一,使用者可以根据需求创建自己的数据类型,从而更加高效地构建程序。

一、自定义类示例

        首先,我们来了解一下什么是自定义类。在Java中,类是一种模板或蓝图,可以用来生成具有一定属性和行为的对象。不同于预定义好的类(例如String、Integer等),自定义类是由程序员按需求自行进行定义和实现。自定义类具有高度可定制性、可重用性以及可维护性。这样就可以有效地提高编程效率,同时减少代码冗余,便于管理

接下来是一个简单的Java自定义类示例:

public class Student { 
    private String name; 
    private int age; 
 
    public Student(String name, int age) { 
        this.name = name; 
        this.age = age; 
    } 
 
    public String getName() { 
        return name; 
    } 
 
    public void setName(String name) { 
        this.name = name; 
    } 
 
    public int getAge() { 
        return age; 
    } 
 
    public void setAge(int age) { 
        this.age = age; 
    } 

    public void displayStudentInfo() {
        System.out.println("姓名:" + this.name + ",年龄:" + this.age);
    } 
}

        在上述示例中,定义了一个名为Student的类,并包含了两个私有变量:name(姓名)和age(年龄)。使用构造函数来初始化对象的属性,可以看到,我们使用了this关键字代表当前对象,以保证赋值操作的正确性。除此之外,该类还定义了四个公共方法用于获取或设置对象的属性。

当我们实例化一个Student对象时,就可以使用该对象的公共方法对属性进行操作:

Student s = new Student("Tom", 18); // 实例化对象
System.out.println(s.getName());   // 获取对象的姓名属性
s.setAge(19);                       // 设置对象的年龄属性
s.displayStudentInfo();             // 输出所有属性

二、隐式参数与显式参数

方法会操作对象并访问它们的实例字段。例如,以下方法:

public void raiseSalary(double dyPercent){
    double raise = salary * byPercent / 100;
    salary += raise;
}

将调用这个方法的对象的salary实例字段设置为一个新值。考虑下面这个调用:

number007.raiseSalary(5);

其作用是将number007.salary字段的值增加5%,具体地说,这个调用将执行以下指令:

double raise = number007.salary * byPercent / 100;
number007.salary += raise;

        raiseSalary方法有两个参数。第一个参数称为隐式(implicit)参数,是出现在方法名前的Employee类型的对象。第二个参数是位于方法名后面括号中的数值,这是一个显式(explicit)参数

在每个方法中,关键字this指示隐式参数。如果愿意,可以改写raiseSalary方法:

public void raiseSalary(double dyPercent){
    double raise = this.salary * byPercent / 100;
    this.salary += raise;
}

这样可以将实例字段与局部变量明显的区分开来。

三、封装的优点

在面向对象编程中,封装性是一种将数据和代码保护起来的机制,具有许多优点。

1、隐藏内部实现

        封装允许类隐藏其内部实现细节,仅向外部暴露必要接口。这样的好处在于,可以使对象更易于使用也更加安全,降低了程序员对类实现的繁琐程度,并且可以防止用户错误地操作对象并导致程序崩溃。

2、简化复杂性

        在面向对象编程中,一个复杂的系统往往由多个类组成,通过封装可以使系统垂直划分,即将系统的各个部分分别定义为相互独立的类。当对象分离时,系统变得更容易理解,因为每个对象都可以被设计成负责一项特定的任务,并提供公共接口简化调用过程。这种简化构造在理解、修改和测试程序时都非常有帮助。

3、提高代码的可重用性和可扩展性

        封装可以消除类内部实现与其他代码之间的依存性,从而增强了灵活性和可扩展性。封装的主要目标是最大限度地降低与其他代码部分发生联系的概率。这使得对象的行为可以独立于其他对象或整个程序的修改,从而增强了代码的可重用性和可维护性。如果要更改根据某个类创建的对象的任何属性或方法,仅需调整与该类相关的部分,使得编程变得更加高效也更有利于团队协作。

4、保护数据安全

        封装可以通过对数据进行访问控制来提供信息隐藏。这意味着对象只能用当前类和其后代类中定义的方式处理数据。当一个类允许修改其成员变量被外部程序直接处理时,非常容易出现潜在的数据不一致,导致代码出现bug。使用封装可以有效地保护数据,并且只通过更好设计的getter和setter方法来完成处理,防止用户做出对数据库影响不确定的操作。

        总之,封装是面向对象编程的重要特征之一,它的优点包括:隐藏内部实现、简化复杂性、提高代码的可重用性和可扩展性,以及保护数据安全。受益于封装机制,程序员们能够更加轻松地开发出更加健壮和可靠的代码,从而减少程序出现故障的可能性。文章来源地址https://www.toymoban.com/news/detail-453115.html

到了这里,关于Java自定义类:打造属于自己的编程世界的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 开源LLM微调训练指南:如何打造属于自己的LLM模型

    今天我们来聊一聊关于LLM的微调训练,LLM应该算是目前当之无愧的最有影响力的AI技术。尽管它只是一个语言模型,但它具备理解和生成人类语言的能力,非常厉害!它可以革新各个行业,包括自然语言处理、机器翻译、内容创作和客户服务等,成为未来商业环境的重要组成

    2024年02月12日
    浏览(21)
  • 用AI打造一个属于自己的歌手,让她C位霸气出道

    ​ 今天玩儿点儿特别的,AI大行其道的今天,还没玩过AI模型的程序员绝对不是个好厨子。我本人比较喜欢音乐,但是一直没有出道,很是遗憾。那么今天,我就使用AI模型亲手打造一个堪比真人的歌手,让她C位霸气出道。 首先,让这位女歌手露一嗓子:点我试听 唱的还不错

    2024年02月08日
    浏览(19)
  • 使用ChatGPT加个人微信公众号打造属于自己的AI助手

    相信现在不少人已经体验过ChatGPT,并被它的智能程度所折服。ChatGPT可以高效的完成许多事,但就目前来说使用还是限制不少,如何进一步使用它和如何更加方便使用它是现在许多人的思考问题。在此,给各位介绍一下如何使用微信公众号和ChatGPT打造成一个方便的个人助手。

    2023年04月17日
    浏览(84)
  • 【花一周,打造属于自己的一台DIY3D打印机1.0】

    读者你们好!这是DIY系列的第一次,我希望这个系列能一直更新,也希望你们能从我的文章中有所收获。我也是小白,还需要继续努力,所以这篇文章会不定期更新,总结给大家相关的知识,将来这个系列也会更新别的DIY产品,这个系列并不局限于硬件,而是所有的DIY产品哦

    2023年04月13日
    浏览(18)
  • 【Navidrome 开源音乐服务器】手把手教你打造属于自己的音乐播放器随时随地想听就听

    目录 1. 前言 2. Navidrome网站搭建 2.1 Navidrome下载和安装 2.1.1 安装并添加ffmpeg 2.1.2下载并配置Navidrome 2.1.3 添加Navidrome到系统服务 2.2. Navidrome网页测试 3. 本地网页发布 3.1 cpolar的安装和注册 3.2 Cpolar云端设置 3.3 Cpolar本地设置 4. 公网访问测试 5. 结语 不知从何时开始,我们能用的音

    2023年04月19日
    浏览(25)
  • AutoGPT爆火,GitHub上已有42k星标,打造一款属于自己的AI助手,什么是全自动AI?ChatGPT已过时?

    GitHub上线了一个新的基于GPT-4的开源应用项目AutoGPT,凭借超42k的Star数在开发者圈爆火。  AutoGPT能够根据用户需求,在用户完全不插手的情况下自主执行任务,包括日常的事件分析、营销方案撰写、代码编程、数学运算等事务都能代劳。比如某国外测试者要求AutoGPT帮他创建一

    2023年04月20日
    浏览(24)
  • 解锁编程潜能:探索亚马逊CodeWhisperer,打造编程世界的声音引导者

    随着CHATGPT的一声巨响,大语言模型已经成为了一个备受瞩目的创新应用。 亚马逊云科技 作为全球领先的云服务提供商,其大语言模型服务也备受关注。 亚马逊云科技推出的 Amazon Bedrock 提供对众多基础模型的访问,具体来说,这项新服务允许用户通过 API 访问来自 AI21 Labs、

    2024年02月03日
    浏览(25)
  • 揭秘ChatGPT,如何打造自己的自定义指令

    又在深夜,正要打开ChatGPT官网测试下pdf对话功能,发现ChatGPT又有更新。本次更新总结有2点: 1.对于Plus用户,GPT-4的使用限额从25条/3h提升至50条(整整提升1倍~ $20的订阅费又更超值了) 2.新增 Custom instructions (个性化指令),简单可以理解为个人角色和期望回答定义 Custom

    2024年02月10日
    浏览(22)
  • 专访 Hyper Oracle:可编程的 zkOracle 打造未来世界的超算

    许多 Web3 应用在实现的过程中,常常会遇到基础设施方面的限制,包括去中心化自动化、预言机、链上信息搜索等问题。绝大部分区块链的中间件网络都是依赖于节点质押来保证节点执行的诚实性,这样的模式会产生诸多衍生问题,例如安全性依赖于冗余计算、单位操作有价

    2024年02月11日
    浏览(14)
  • java调用chatgpt接口,实现专属于自己的人工智能助手

    今天突然突发奇想,就想要用java来调用chatget的接口,实现自己的聊天机器人,但是网上找文章,属实是少的可怜(可能是不让发吧)。找到了一些文章,但是基本都是通过调用别人的库来完成的,导入其他的jar还有不低的学习成本,于是就自己使用HttpClient5写了一个,在这里讲

    2024年02月03日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包