Java 25天基础-DAY 05-面向对象-构造函数

简介: Java 25天基础-DAY 05-面向对象-构造函数

/*
构造函数:

对象一建立,就会调用对应的函数。

构造函数的作用,可以用于给对象进行初始化。(现实生活中的一些事物,一出现就具备的行为)

当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数
下面的空参数构造函数是Person(){}

当在类中定义了构造函数的话,系统就不再定义空参数的构造函数。

构造函数和一般函数在写法上有不同

在运行上也有不同
构造函数是在对象一建立就运行,给对象初始化。
而一般函数是对向调用才执行,给对象添加对象具备的功能。

一个对象建立,构造函数只运行一次。
而一般方法可以被该对象调用多次。
*/
class Person
{


{
    System.out.println("cry..........");//构造代码块,调用就执行一次。
}

private String name;
private int age;

public void setName (String n)
{
    name = n;
}
public String getName ()
{
    return name;
}

/* public void setAge (int a)

{
    age=a;
}
public int getage()
{
    return age;
}

*/

Person()
{
    System.out.println("A: name="+name+",,age="+age);

// System.out.println("cry..........");
// cry();

}

Person(String n)
{
    name=n;
    System.out.println("B: name="+name+",,age="+age);

// System.out.println("cry..........");
// cry();

}
Person(String n,int a)
{
    name=n;
    age=a;
    System.out.println("C: name="+name+",,age="+age);

// System.out.println("cry..........");相同代码使用函数代替。
// cry(); 都调用这个函数也比较重复,使用构造代码块代替。

}

/* public static void cry ()

{
    System.out.println("cry...........");
}

*/
}
class gzhs
{

public static void main(String[] args) 
{
    //Person p = new Person();
    //P.cry();一个对象只能cry一次
    Person p1 =new Person("赵四");
    p1.setName("令狐冲");//一般函数可以执行多次。
    p1.setName("jack");
    System.out.println(p1.getName());
    //Person p2 = new Person("田娃",20);
}

}

目录
相关文章
|
27天前
|
存储 缓存 Java
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
这篇文章详细介绍了Java中的IO流,包括字符与字节的概念、编码格式、File类的使用、IO流的分类和原理,以及通过代码示例展示了各种流的应用,如节点流、处理流、缓存流、转换流、对象流和随机访问文件流。同时,还探讨了IDEA中设置项目编码格式的方法,以及如何处理序列化和反序列化问题。
58 1
java基础:IO流 理论与代码示例(详解、idea设置统一utf-8编码问题)
|
9天前
|
Java 关系型数据库 数据库
面向对象设计原则在Java中的实现与案例分析
【10月更文挑战第25天】本文通过Java语言的具体实现和案例分析,详细介绍了面向对象设计的五大核心原则:单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则帮助开发者构建更加灵活、可维护和可扩展的系统,不仅适用于Java,也适用于其他面向对象编程语言。
9 2
|
2月前
|
Java 编译器
封装,继承,多态【Java面向对象知识回顾①】
本文回顾了Java面向对象编程的三大特性:封装、继承和多态。封装通过将数据和方法结合在类中并隐藏实现细节来保护对象状态,继承允许新类扩展现有类的功能,而多态则允许对象在不同情况下表现出不同的行为,这些特性共同提高了代码的复用性、扩展性和灵活性。
封装,继承,多态【Java面向对象知识回顾①】
|
2月前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
2月前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
33 4
|
2月前
|
Java
接口和抽象类【Java面向对象知识回顾②】
本文讨论了Java中抽象类和接口的概念与区别。抽象类是不能被实例化的类,可以包含抽象和非抽象方法,常用作其他类的基类。接口是一种纯抽象类型,只包含抽象方法和常量,不能被实例化,且实现接口的类必须实现接口中定义的所有方法。文章还比较了抽象类和接口在实现方式、方法类型、成员变量、构造方法和访问修饰符等方面的不同,并探讨了它们的使用场景。
接口和抽象类【Java面向对象知识回顾②】
|
26天前
|
Java 编译器
【编程基础知识】详解Java构造函数
构造函数是与类同名且不带返回值的特殊函数,用于对象初始化。它可以是无参或有参的,支持重载。若未自定义构造函数,编译器会提供默认的无参构造函数。子类构造函数会先调用父类的构造函数,确保父类对象先被创建。构造函数的主要作用是初始化对象的存储空间、调用父类构造函数和初始化成员变量。
20 0
|
27天前
|
存储 Java 程序员
Java基础-面向对象
Java基础-面向对象
13 0
|
2月前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
54 2
|
2月前
|
Java 开发者
【Java编程新纪元】JDK 22:超级构造函数来袭,super(...) 前导语句改写编程规则!
【9月更文挑战第6天】JDK 22的超级构造函数特性是Java编程语言发展史上的一个重要里程碑。它不仅简化了代码编写,还提升了代码的可读性和维护性。我们有理由相信,在未来的Java版本中,还将有更多令人兴奋的新特性等待我们去发现和应用。让我们共同期待Java编程新纪元的到来!