类是一种抽象的数据类型,它是对某一事物整体描/定义,但是井不能代表某一个具体的事物。
对象是抽象概念的具体实例
package com.oop.demo02; //一个项目应该只存在一个main方法 public class Application { public static void main(String[] args) { //类是抽象的,需要实例化 //类实例化后会返回一个自己的对象! //student对象就是一个Student类的具体实例! Student xiaoming = new Student(); Student xh = new Student(); xiaoming.name = "小明"; xiaoming.age = 3; System.out.println(xiaoming.name); System.out.println(xiaoming.age); xh.name ="小红"; xh.age = 4; System.out.println(xh.name); System.out.println(xh.age); } } package com.oop.demo02; //学生类 public class Student { //属性:字段 String name;//默认值为null int age;//默认值为0 //方法 public void study(){ System.out.println(this.name+"在学习");//this代表当前类 } }
使用new关键字创建对象
使用new关键字创建的时候,除了分配内存空间之外,还会给创建好的对象进行默认的初始化以及对类中构造器的调用。
类中的构造器也成为构造方法,实在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
构造器必须要掌握
package com.oop.demo02; //java ---> class public class Person { //一个类即使什么都不写,它也会存在一个方法 //显示的定义构造器 String name; int age; //实例化初始值 //1.使用new关键字,本质是在调用构造器 //2.用来初始化值 public Person(){ } //有参构造:一旦定义了有参构造,无参就必须显示定义 public Person(String name){ this.name = name; } //alt+insert 构造器生成快捷键 public Person(String name, int age) { this.name = name; this.age = age; } } /* public static void main(String[] args) { //new 实例化了一个对象 Person person = new Person();//有参就走有参方法 System.out.println(person.name);//大白很白 } 构造器: 1.和类名相同 2.没有返回值 作用: 1.new 本质在调用构造方法(构造器) 2.初始化对象的值 注意点: 1.定义有参构造之后,如果想使用无参构造,显示的定义一个无参的构造 快捷键Alt+Insert this. = 参数传回的值 */