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

总结

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

相关文章

  • Docker容器使用宿主机上的mongod/redis等服务详解

    Docker容器使用宿主机上的mongod/redis等服务详解

    这篇文章主要介绍了Docker容器使用宿主机上的mongod/redis等服务详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • springData使用QueryDsl的示例代码

    springData使用QueryDsl的示例代码

    这篇文章主要介绍了springData使用QueryDsl的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Java的finally块居然没执行的6种问题解决

    Java的finally块居然没执行的6种问题解决

    本文探讨了Java中try-catch-finally结构下finally块可能不执行的情况,并分析了JVM层面的原理,文章列出了6种特殊情况,下面就来详细的介绍一下
    2026-05-05
  • 使用Netty搭建服务端和客户端过程详解

    使用Netty搭建服务端和客户端过程详解

    这篇文章主要介绍了使用Netty搭建服务端和客户端过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • Java简单冒泡排序示例解析

    Java简单冒泡排序示例解析

    这篇文章主要介绍了Java简单冒泡排序示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java中减少if-else的设计模式和优化技巧

    Java中减少if-else的设计模式和优化技巧

    “过于依赖 if-else 不仅会让代码变得臃肿不堪,还会使维护成本大大增加,其实,if-else 虽然是最基础的条件分支,但它并不是万能的解决方案,今天,我将带大家了解一些取代 if-else 的设计模式和优化技巧,需要的朋友可以参考下
    2025-04-04
  • 使用logback屏蔽一些包的日志

    使用logback屏蔽一些包的日志

    这篇文章主要介绍了使用logback屏蔽一些包的日志,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • MybatisPlusPro让CURD开发效率直接拉满

    MybatisPlusPro让CURD开发效率直接拉满

    MybatisPlusPro 的出现,彻底改变了我对 CURD 开发的认知,它不仅让代码量大幅减少,还通过各种高级特性和性能优化,让开发变得更加优雅和高效
    2026-06-06
  • Java匿名内部类的使用方法举例详解

    Java匿名内部类的使用方法举例详解

    Java中的匿名内部类是一种没有名字的局部内部类,主要用于一次性实现接口或继承类的场合,它们常见于GUI事件处理、多线程编程等场景,简化代码结构同时提高开发效率,需要的朋友可以参考下
    2024-09-09
  • 利用SpringMVC接收复杂对象和多个文件(前端使用JQuery)

    利用SpringMVC接收复杂对象和多个文件(前端使用JQuery)

    这篇文章主要介绍了利用SpringMVC接收复杂对象和多个文件(前端使用JQuery),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10

最新评论