欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA之路day06

程序员文章站 2022-06-13 12:26:15
...

面向对象

1.本质就是,以类的方式组织代码,以对象封装数据
2.抽象
3.三大特性:封装,继承,多态
4.类里面有属性和方法

类的创建

/*
创建一个类,用对象来封装数据。相当于数据结构体。
类中只有静态的数据和动态的方法
 */
public class Student {
    String name;
    int age;
    public void speak(){
        System.out.println("I am "+this.name+",I am "+this.age+" years old!");
    }
}
/*
public class Application {
    public static void main(String[] args) {
        Student s1=new Student();//用new关键字创建对象,此时分配空间,进行初始化
        Student s2=new Student();
        s1.name="Yang shengjie";
        s1.age=21;
        s2.age=18;
        s2.name="Xie jiayu";
        s1.speak();
        s2.speak();
    }
}
 */

构造器

/*
构造器
1.一个类里面即使什么都不写,也存在一个和类同名的方法
2.使用new关键字,必须有构造器,本质就是调用构造器
3.作用就是实例化初始值
4.可以定义不同的有参构造器,相当于重载构造器
5.快捷键:alt+insert。可以自动生成构造器
6.构造器名必须和类名相同
 */

public class Constructor {
    String name;
    int age;
    int height;
    //显示的定义构造器
    //无参构造器
    public Constructor(){}
    //有参构造器
    //如果定义有参构造器,则必须显示的定义无参构造器
    public Constructor(String name){
        this.name=name;
    }
    public Constructor(String name,int age){
        this.name=name;
        this.age=age;
    }
    public Constructor(String name,int age,int height){
        this.name=name;
        this.age=age;
        this.height=height;
    }
}
/*
public class Application {
    public static void main(String[] args) {
        Constructor person1=new Constructor("yang");
        Constructor person2=new Constructor("yang",21);
        Constructor person3=new Constructor("yang",21,178);
        System.out.println(person1.name);
        System.out.println(person2.age);
        System.out.println(person3.height);

    }
}
 */

JAVA之路day06

分析:先在堆中给类和静态方法分配空间,然后把main方法压进栈,申明类变量时也要压进栈,如果要初始化数据则在堆中分配空间,用构造器初始化数据。