首页 > 编程语言 > 详细

Java的对象和类,构造器详解

时间:2021-03-12 18:50:27      阅读:22      评论:0      收藏:0      [点我收藏+]

Java的对象和类

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 创建构造器
       
*/

 

Java的对象和类,构造器详解

原文:https://www.cnblogs.com/continue-student/p/14525641.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!