Java面向对象基础语法,10分钟可以快速入门!!

 2024-01-08 07:02:25  阅读 0

今天给大家介绍一下Java的基本面向对象语法。 非常简单,10分钟即可快速上手。

构造函数是类的一种特殊方法,用于初始化类的新对象。 Java中的每个类都有一个默认构造函数,该构造函数必须与类名相同,并且没有返回类型。 构造函数的默认返回类型是对象类型本身,并且构造函数不能用,final,,and修饰。

提示:构造函数是用来初始化一个新对象的,所以使用修改是没有意义的; 构造函数不能被子类继承,所以使用final和修饰是没有意义的; 多个线程不会同时创建具有相同内存地址的相同对象,因此无需使用修改。

构造方法的语法格式如下:

class class_name

{

 public class_name(){} //默认无参构造方法

 public ciass_name([paramList]){} //定义构造方法

 //类主体

}

在类中,与类同名的方法就是构造函数方法。 每个类可以有多个构造函数,但要求每个构造函数包含不同的方法参数。

示例1

构造方法主要有两种:无参数构造方法和参数化构造方法。 示例如下:

public class MyClass

{

 private int m; //定义私有变量

 MyClass()

 {

 //定义无参的构造方法

 m=0;

 }

 MyCiass(int m)

 {

 //定义有参的构造方法

 this.m=m;

 }

}

注意:类的构造函数不需要定义。 如果类中没有定义构造函数,Java会自动为该类生成一个默认构造函数。 默认构造函数不包含任何参数,方法体为空。 如果在类中显式定义了一个或多个构造函数,则 Java 不再提供默认构造函数。

实施例2

(1)首先在类中定义两个构造函数,代码如下:

public class Worker

{

 public String name; //姓名

 private int age; //年龄

 //定义带有一个参数的构造方法

 public Worker(String name)

 {

 this.name=name;

java 构造方法私有化_java私有的构造方法_构造方法私有化的目的

 }

 //定义带有两个参数的构造方法

 public Worker(String name,int age)

 {

 this.name=name;

 this.age=age;

 }

 public String toString()

 {

 return"大家好!我是新来的员工,我叫"+name+",今年"+age+"岁。";

 }

}

提示:类有一个 () 方法,这是一个特殊的方法,创建的每个类都会继承并返回一个类型化字符串。 如果这个方法定义在类中,那么当调用该类的对象时,会自动调用该类的对象的()方法返回一个字符串,然后可以使用“.out”改变返回的字符。 (对象名称)”打印出字符串内容。

(2)创建类中的main()方法作为程序的入口,在main()方法中调用不同的构造方法来实例化对象,并初始化对象中的属性。 代码如下:

public class TestWorker

{

 public static void main(String[] args)

 {

 System.out.println("-----------带有一个参数的构造方法-----------");

 //调用带有一个参数的构造方法,Staff类中的sex和age属性值不变

 Worker worker1=new Worker("张强");

 System.out.println(worker1);

 System.out.println("-----------带有两个参数的构造方法------------");

 //调用带有两个参数的构造方法,Staff类中的sex属性值不变

 Worker worker2=new Worker("李丽",25);

 System.out.println(worker2);

 }

}

运行该类,输出结果如下:

-----------只有一个参数的构造函数----------

大家好! 我是一名新员工。 我叫张强,今年0岁。

----------有两个参数的构造函数------------

大家好! 我是一名新员工。 我叫李莉。 我25岁。

通过调用带参数的构造函数,在创建对象时就完成了对象成员的初始化,简化了对象初始化代码。

总结:

构造方法是一种特殊的方法,其方法名与类名相同。 创建新对象时会调用它。 可以使用不同的构造方法以不同的方式初始化对象。

构造函数名称必须与类名称相同。 构造函数没有返回类型,甚至没有 void。 它返回对象的地址并将其分配给引用变量。 构造函数不能被继承、覆盖或直接调用。 调用方式有三种:一是通过new关键字,二是子类的构造函数中通过super调用父类的构造函数,三是通过反射获取并使用。 定义类时会提供默认的无参构造函数。 但如果显式定义了有参构造函数,则无参构造函数将被覆盖; 如果您仍然想拥有它,则需要显式定义它。 构造函数可以设为私有。 不能使用私有构造函数在外部创建对象。

构造函数不能在接口中定义,但可以在抽象类中定义。 在枚举类中,构造函数是一个特殊的存在。 它可以定义但不能修改,因为它默认是绝对单例,不允许通过创建对象的方式外部生成枚举对象。

一个类可以有多个带有不同参数的构造函数,称为构造函数的重载。 为了阅读方便,当一个类有多个构造函数时,这些方法应该放在一起。 同理,类中其他同名的方法也应该遵循这个原则。

单一责任也适用于构造函数。 构造函数的任务是在构造对象时传递参数。 因此,业务逻辑不应该在构造函数中引入。 如果一个对象在生产过程中,需要完成初始化上下游对象、分配内存、执行静态方法、分配句柄等繁重工作,而其中一个步骤出错,导致对象初始化没有完成,那么希望就寄托在业务逻辑部分来处理异常。 这只是一些失控的事情。 因此,建议将初始化业务逻辑放在某个方法中,例如init(),然后在对象确认所有初始化工作已完成后显式调用它。

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码