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);
}

}

目录
相关文章
|
1月前
|
Java
【Java基础面试三十四】、接口中可以有构造函数吗?
这篇文章讨论了Java中接口不能包含构造函数的原因,主要解释了接口中的成员变量默认是public static final类型的常量,不需要通过构造函数初始化,且接口本身不能被实例化,因此构造函数在接口中没有意义。
|
7天前
|
安全 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版)
|
8天前
|
安全 Java Go
面向对象程序设计语言:Java
Java语言语法和C语言和C++语言很接近,很容易学习和使用,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的特性,Java语言不使用指针,而是引用,并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧
25 2
|
15天前
|
Java 开发者
【Java编程新纪元】JDK 22:超级构造函数来袭,super(...) 前导语句改写编程规则!
【9月更文挑战第6天】JDK 22的超级构造函数特性是Java编程语言发展史上的一个重要里程碑。它不仅简化了代码编写,还提升了代码的可读性和维护性。我们有理由相信,在未来的Java版本中,还将有更多令人兴奋的新特性等待我们去发现和应用。让我们共同期待Java编程新纪元的到来!
|
1月前
|
Java 数据处理 开发者
【Java基础面试十二】、说一说你对面向对象的理解
这篇文章阐述了面向对象是一种以类和对象为基础,通过封装、继承和多态等概念来模拟现实世界中的事物及其相互关系的程序设计方法,它强调以事物为中心进行思考和系统构造,与结构化程序设计相比,更符合人类的自然思维方式。
【Java基础面试十二】、说一说你对面向对象的理解
|
1月前
|
Java
【Java基础面试十三】、面向对象的三大特征是什么?
这篇文章介绍了面向对象程序设计的三大基本特征:封装、继承和多态,其中封装隐藏对象实现细节,继承实现软件复用,多态允许子类对象表现出不同的行为特征。
【Java基础面试十三】、面向对象的三大特征是什么?
|
4天前
|
Java 开发者
Java编程之旅:探索面向对象的力量
【9月更文挑战第16天】在编程的世界中,Java以其强大的面向对象编程特性而闻名。本文将带你走进Java的世界,一起探索类与对象的奥秘,学习如何通过封装、继承和多态性构建健壮的软件系统。无论你是初学者还是有经验的开发者,本文都旨在提供实用的代码示例,帮助你提升Java技能。准备好开始这段旅程了吗?让我们启程吧!
|
28天前
|
Java 开发者 C++
|
30天前
|
Java 开发者
什么是 Java 中的构造函数链?
【8月更文挑战第21天】
14 1
|
1月前
|
存储 Java
Java面向对象面试题总结(上)
在Java中,重写(Override)与重载(Overload)是两个重要的概念,关联到方法的定义与调用。重写是指子类对继承自父类的方法进行新的实现,以便提供子类特有的行为,其关键在于方法签名一致但方法体不同。重载则允许在同一个类中定义多个同名方法,只要参数列表不同即可,以此提供方法调用的灵活性。重写关注多态性,而重载强调编译时多态。
20 1