java之构造器的重载问题

 更新时间:2024年03月27日 10:17:42   作者:邓李庆  
这篇文章主要介绍了java之构造器的重载问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

java构造器的重载

下面给大家讲一些java中的基础面向对象,我们来了解一下什么是面向对象;对象和类有什么区别。

对象和类的概念

对象:对象是类的实例,有状态和行为。

例如:

一条狗是对象,它的状态有:颜色、名字、品种;

行为有:摇尾巴、叫、吃等等。

类:类是一个模板,它描述一类对象的行为和状态。

首先讲java中的类。

修饰符可以为public final abstract 或者不写;类名:使用大驼峰命名。

使用对象构造器,构造器也叫构造方法或者构造函数,构造器与类名相同,没有返回值,不能使用void;名称与类名相同,没有返回值,不能写void;如果类中没有手动添加构造器,编译器会默认再添加一个无参构造器。

如果手动添加构造器,那么默认的构造器就会消失;构造器是可以重载的。

见代码图1:

图1

成员变量:成员变量是定义在类中的,方法体之外的变量。

这种 变量在创建对象的时候实例化。

成员变量可以被类中方法、构造方法和特定类的语句块访问。

修饰符(public protected private)三选一、static、final;

见代码图2:

图2

方法:java方法是语句的集合,它们在一起执行一个功能;

方法是解决一类问题的步骤的有序组合,包含于类或对象中,在程序中被创建,在其他地方被引用。

修饰符(public protected private)三选一、static、final、synchronize、native;

见代码图3:

图3

然后创建对象,对象是根据类创建的。

在java中,使用关键字new来创建一个新的对象。

创建对象需要三步:第一声明:声明一个对象,包括对象名称和对象类型。

第二实例化:使用关键字new来创建一个对象,只是为对象在内存中开辟空间。

第三初始化:使用new创建对象时,会调用构造方法初始化对象,对象中的值赋初始化值。

见代码图4:

图4

Java变量的分类为两种:

一种成员变量、另一种局部变量;

方法的重载:重载是在一个类里面,方法名字相同,而参数不同。

返回类型可以相同也可以不同。

每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表;最常用的地方就是构造器的重载。

被重载的方法必须形参列表不一样(参数个数或类型不一样);可以改变返回类型;可以改变访问修饰符;可以声明新的或更广的检查异常;方法能够在同一个类中或者在一个子类中被重载。

返回值类型不能作为重载函数的区分标准。

见代码图5:

图5

在面向对象程式设计方法中,封装是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法。

封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。

要访问该类的代码和数据,必须通过严格的接口控制。

适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。

封装的优点有:良好的封装能够减少耦合。

类内部的结构可以自由修改。

可以对成员变量进行更精确的控制。

隐藏信息,实现细节。

Java封装的步骤:修改属性的可见性来限制对属性的访问(一般限制为private),对每个值属性提供对外的公共方法访问,也就是创建getter和setter方法(将实例变量的首字母大写,在前面添加get或者set, 变成getter和setter方法名);

见代码图6:

图6

声明类名,将执行出的结果;见图7:

图7

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • SpringBoot中优化Undertow性能的方法总结

    SpringBoot中优化Undertow性能的方法总结

    Undertow是一个采用 Java 开发的灵活的高性能Web服务器,提供包括阻塞和基于NIO的非堵塞机制,本文将给大家介绍SpringBoot中优化Undertow性能的方法,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-08-08
  • 详解Java中方法重写和方法重载的6个区别

    详解Java中方法重写和方法重载的6个区别

    方法重写和方法重载都是面向对象编程中,那么方法重写和方法重载有哪些区别,本文就详细的来介绍一下,感兴趣的可以了解一下
    2022-01-01
  • SpringCloud Ribbon负载均衡实例解析

    SpringCloud Ribbon负载均衡实例解析

    这篇文章主要介绍了SpringCloud Ribbon负载均衡实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • mybatis实现动态升降序的问题小结

    mybatis实现动态升降序的问题小结

    文章介绍了如何在MyBatis的XML文件中实现动态排序,使用$符号而不是#符号来引用变量,以避免SQL注入,同时,强调了在Java代码中进行防注入处理的重要性,感兴趣的朋友一起看看吧
    2025-02-02
  • java连接postgresql数据库代码及maven配置方式

    java连接postgresql数据库代码及maven配置方式

    这篇文章主要介绍了java连接postgresql数据库代码及maven配置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • SpringBoot拦截器excludePathPatterns方法不生效的解决方案

    SpringBoot拦截器excludePathPatterns方法不生效的解决方案

    这篇文章主要介绍了SpringBoot拦截器excludePathPatterns方法不生效的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • MybatisPlus实现数据拦截的使用示例

    MybatisPlus实现数据拦截的使用示例

    在MyBatis-Plus中,可以通过自定义拦截器来实现对SQL语句的拦截和修改,本文就来介绍一下如何使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决

    MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决

    这篇文章主要介绍了MyBatis查询数据,赋值给List集合时,数据缺少的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • Java8深入学习系列(三)你可能忽略了的新特性

    Java8深入学习系列(三)你可能忽略了的新特性

    一提到Java 8就只能听到lambda,但这不过是其中的一个而已,Java 8还有许多新的特性,有一些功能强大的新类或者新的用法,还有一些功能则是早就应该加到Java里了,所以下面这篇文章主要给大家介绍了关于Java8中大家可能忽略了的一些新特性,需要的朋友可以参考下。
    2017-08-08
  • Spring MVC实现一次简单的CRUD示例

    Spring MVC实现一次简单的CRUD示例

    这篇文章主要介绍了Spring MVC实现一次简单的CRUD示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08

最新评论