17java类与对象&构造器
2021-03-18 21:24
标签:学生 pre info 工程师 生成 快捷键 rip 就是 java 以前写程序每个类都写了main方法,都是为了测试程序方便,但是一名优秀的工程师是不会这样做的。正确的做法是:一个完整的工程只有一个启动类(main方法,程序的入口),其他的类用来完成特定的功能。如下: 运行结果: 分析: 下面直接用操作构造器的代码来进行说明: 运行结果: Post Script: 17java类与对象&构造器 标签:学生 pre info 工程师 生成 快捷键 rip 就是 java 原文地址:https://www.cnblogs.com/fanfada/p/13768506.html类与对象的关系
创建与初始化对象
package oop.OopDemo;
public class Student {//学生类
//属性:字段
String name;
int age;
//方法
public void say() {
System.out.println("I‘m "+name+" and I‘m "+age+" years old.");
//System.out.println("I‘m "+this.name+" and I‘m "+this.age+" years old.");
}
}
package oop.OopDemo;
public class Application {
public static void main(String[] args) {
//先实例化,在调用来里面的对象的属性和方法
Student student1 = new Student();
Student student2 = new Student();
student1.name = "ffd";
student1.age = 5;
student2.name = "gfj";
student2.age = 5;
student1.say();//调用Demo01类里面的say方法输出demo01对象
student1.say();//调用Demo01类里面的say方法输出demo02对象
System.out.println(student1.name);
System.out.println(student2.name);
}
}
构造器
//类
package oop.OopDemo;
public class Person {
//属性:字段(自定义)
String name;
int age;
//方法
public Person() {//这是一个无参构造器,如果过不写是默认存在的
this.name = "fada";//这个不是默认存在的
}
public Person(String name) {//构造器支持方法的重载
this.name = name;
}
public Person(int age) {
this.age = age;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
//主类
package oop.OopDemo;
public class Application {
public static void main(String[] args) {
Person person = new Person();//使用new关键字实例化了一个对象
System.out.println(person.name);
}
}
因为构造器的参数可能与自定义的属性(字段)相同,加上this.表示这是自定义的属性(字段)而不是形式参数
1.没有返回值类型
2.构造器的名称和类名相同
1.在main方法里面new的本质就是在调用构造方法
2.初始化对象的值
1.无参构造器是默认存在的,即使不写,class文件里面也有
2.定义了有参构造器之后,如果想使用无参构造器,必须显式定义(就是写出来)
文章标题:17java类与对象&构造器
文章链接:http://soscw.com/index.php/essay/65938.html