package OPP;
?
//学生的类,一个类中只存在属性和方法
public class Student {
//属性
String name;//没有赋值默认值为null
int age;//默认值为0
//方法
public void student(){
System.out.println(this.name+"在学习");
?
}
}
package OPP;
?
//一个项目应该只存在一个main方法,在主程序中
public class Application {
public static void main(String[] args) {
//实例化后会返回自己的一个对象
//student对象是Student类的具体实例
Student student = new Student();
//为student.name赋值
student.name="小明";
System.out.println(student.name);//小明
Student xiaoming = new Student();
/*新创建的这个对象xiaoming与student没有关系
student.name="小明"的赋值并不会赋给xiaoming
*/
System.out.println(xiaoming.name);//null
//student中方法的调用
student.student();//小明在学习
xiaoming.student();//null在学习
?
}
}
?
package Demo01;
?
public class Use {
public Use() {
//构造器特点
//1.必须与类名相同
//2.没有返回值和void
}
}
package Demo01;
?
public class Application {
public static void main(String[] args) {
Use use = new Use();
//Use中什么都没有写,但是还可以new出来
//原因:在什么都没有写的Use类中有一个不显示的构造器
}
}
?
package Demo01;
?
public class Use {
String name;
//构造器的作用
//1.new时必须要有构造器,new的本质就是调用构造器
//2.实例化初始值
?
public Use() {
this.name="小明";//实例化初始值
}
}
?
package Demo01;
?
public class Application {
public static void main(String[] args) {
Use use = new Use();
System.out.println(use.name);
/*
最后输出为小明,并不是null
因为在构造器中进行了实例化初始值了
*/
?
}
}
package Demo01;
?
public class Use {
String name;
int age;
?
//无参构造必须显示出来,否则new Use();会报错
public Use() {
this.name="小明";
}
//定义了有参数构造,无参构造必须显示定义
public Use(String name) {
this.name = name;
}
?
public Use(String name, int age) {
this.name = name;
this.age = age;
}
//Alt + Insert创建构造器
}
?
package Demo01;
?
public class Application {
public static void main(String[] args) {
Use use = new Use("小红");
?
System.out.println(use.name);
/*
输出的为小红
因为Use use = new Use("小红");
有参数调用有参构造进行执行
*/
Use use2 = new Use("小红",20);
System.out.println(use2.age);
//传两个参数调用两个参数的构造器
?
?
?
}
}
/*
构造器:特点:
1.名字与类名相同
2.没有返回值和void
作用:
1.new的实质就是在调用构造器
2.实例化初始值
注意:
有有参构造时无参构造必须写出来才能调用
Alt + Insert 创建构造器
*/
原文:https://www.cnblogs.com/continue-student/p/14525641.html