首页 > 编程语言 >java基础-java面向对象-day08

java基础-java面向对象-day08

时间:2023-09-07 23:55:31浏览次数:79  
标签:day08 java name Person System 面向对象 println public out

1. 一个简单的类

认识类
成员变量 类方法

public class Person {
    //类的成员变量
    int age;
    String name;
    double height;
    double weight;


    public void eat(){
        System.out.println("吃饭");
    }

    public void sleep(){
        System.out.println("睡觉");
    }

    public String introduce(){
        return "名字:"+name+ "年龄:"+age+"身高:"+height+"体重"+weight
    }
}

实例化对象 调用对象的方法

public class Test {


    public static void main(String[] args) {
        //第一次加载类的时候,会进行类的加载,初始化创建对象的时候,对象的属性没有给赋值,有默认的初始化的值。
        Person zs = new Person();

        zs.name = "张珊";
        zs.age = 19;
        zs.height = 188.8;
        zs.weight = 75;


        //再次创建对象 不会再加载类
        Person ls = new Person();

        ls.name = "李四";
        ls.age = 20;
        ls.weight = 80;
        ls.height = 188.9;

        System.out.println(zs.name);
        System.out.println(ls.name);

        zs.sleep();
        ls.eat();

        System.out.println(zs.introduce());
    }
}

2. 构造器

无参构造器 有参构造器 什么是this


public class Person {
    String name;
    int age;
    double height;


    public Person(){

    }



    public Person(String name, int age, double height){
        //当形式参数与属性名 重名的时候会出现就进原则
        //在对象的属性赋值的时候加上this
        this.name = name;
        this.age = age;
        this.height = height;
    }
    public Person(String a, int b){
        name = a;
        age = b;
    }

    public void eat(){
        System.out.println("吃饭");
    }

}

new一个对象的 过程 以及构造器的注意点

public class Test {

    public static void main(String[] args) {
        /*
        1. new 关键字实际上是在调用一个方法 这个方法叫做构造方法(构造器)
        2. 系统会默认分一个构造方法
        3. 可以自己显示的编写构造方法
        
        构造方法与普通方法的区别
        1. 没有返回值的类型
        2. 不能有return语句
        3. 名字必须与类的名字一样
        
        构造器的作用:
        不是为了创建对象
        调用构造器之前对象就已经创建并且属性有初始值
        构造器的本质是给对象的属性进行赋值操作
        
        注意点:
        1. 一般不会在空构造器里面进行初始化操作,否则所有的对象的属性就一样
        2. 需要保证每个类空构造器的存在, 逻辑可以什么都不写,

        */
        Person p = new Person();
        System.out.println(p.age);
        System.out.println(p.name);
        System.out.println(p.height);


        Person p2 = new Person("张三", 18, 188.9);

        System.out.println(p2.age);
        System.out.println(p2.name);
        System.out.println(p2.height);

    }

}

1.一般要保证空构造器的存在,且空构造器不进行属性的赋值操作
2. 一般要进行构造器的重载,在重载构造器中进行属性的赋值操作;
3. 重载构造器之后,如果空构造器忘记写,系统就再也不会分默认的空构造器,new Persion()则会报错
4. 当形式参数与类的属性重名,属性的赋值前加上this来修饰

public class Test2 {
    public static void main(String[] args) {
        Person p = new Person();
        p.age = 19;
        p.name = "lili";
        p.height = 188.8;

        Person p2 = new Person("lili", 19, 180.1);
        System.out.println(p2.age);
        System.out.println(p2.height);
        System.out.println(p2.name);

    }
}

3. new对象 内存分析

4. this详解

5. static如何详解

6. 什么是代码块

7. import导包

标签:day08,java,name,Person,System,面向对象,println,public,out
From: https://www.cnblogs.com/cavalier-chen/p/17686399.html

相关文章

  • linux安装java环境
    linux安装java环境linux安装jdk,即Linux安装java运行环境一、下载安装包[root@localhostdownload]#wgethttps://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gz-bash:wget:未找到命令123执行wget命令下载安装包,发现wget命令未找到,那么先安装wget命令,......
  • 1.2 Java 开发环境配置
       ......
  • Java后端学习路线经验分享--全网最靠谱
    ​简介本文是Java自学的经验分享,5个月即可入职Java后端开发岗位。我之前是自学的Java,Java零基础,用了5个月的时间,拿到了6家offer:恒生电子(12K)、九翊科技(13K)、良业科技(12K),九慧科技(9K),还有一家忘记名字了。有的东西不能复制,但学习Java的方法是可以复制的。在本站学习,你将能复制站长......
  • Vue的数组操作方法和JavaScript原生数组方法有什么区别?
    Vue的数组操作方法和JavaScript原生数组方法之间存在一些区别,主要体现在对响应式更新的处理上。#####1:响应式更新:Vue数组操作方法是对JavaScript原生数组方法的封装,能够触发Vue的响应式更新机制。这意味着当你使用Vue的数组操作方法修改数组时,Vue会自动检测到数组的变化......
  • Java是如何实现跨平台的
    "Java跨平台"是指Java编程语言的特性,使得开发的应用程序可以在不同的操作系统和硬件平台上运行,而无需进行额外的修改或适配。这意味着使用Java编写的程序可以在Windows、Mac、Linux等不同的操作系统上运行,而不需要针对每个平台进行单独的开发。这种跨平台的能力是由Java虚拟机(Java......
  • 《Java编程思想第四版》学习笔记26
    //:Cleanup.java//Payingattentiontoexceptions//inconstructorsimportjava.io.*;classInputFile{privateBufferedReaderin;InputFile(Stringfname)throwsException{try{in=newBufferedReader(......
  • Java学习——基础知识补充
    1.作用域1.1public定义为public的class、interface可以被其他任何类访问,定义为public的field、method可以被其他类访问,前提是首先有访问这个类的权限。注意:一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。如果......
  • 无涯教程-JavaScript - ERFC函数
    描述ERFC函数返回x和无穷大之间集成的互补ERF函数。互补误差函数等于1-ERF(即1-误差函数),由等式给出-$$Erfc(x)=\frac{2}{\sqrt{\pi}}\int_{x}^{\infty}e^{-t^2}dt$$语法ERFC(x)争论Argument描述Required/OptionalxThelowerboundforintegratingE......
  • 西二,java基础与高级
       下面是高级 ......
  • 面向对象—继承
    一.继承基本属性class 子类 extends父类{  }1.子类就会自动拥有父类定义的属性方法2.父类又叫超类,基类3.子类又叫派生类二.细节1.子类继承了所有的属性和方法,但是私有属性不能放在子类中直接访问,要通过公有的方法去访问。2.子类必须调用父类的构造器,完成父类的初始化3.当创......