ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【多易教育Java大数据入班】预习07

2021-08-05 00:01:58  阅读:108  来源: 互联网

标签:入班 Java 07 构造方法 成员 name age public 变量


前言

        今天是学习Java语言的第7天,提前看过课件知道今天讲的更多的是一种思想,老师今天讲的是面向对象,说今天是面向对象的第一天。前边几天上来讲得就是Java语言的具体学习内容,今天说是学习Java语言的一种思想才感觉刚刚迈入大门,那接下来就是继续努力加油啦!

预习内容

知识总结

1.面向对象
        面向过程:实现一件事情去关注每一步的过程,每一步都去亲历亲为
        面向对象:实现一件事情去关注具备实现这个功能的对象
        面向对象是一种编程思想,它是基于面向过程的。将功能(方法)封装到一个类中,当想实现某件事时不去思考具体怎么实现这个功能,而是考虑哪个类具备这个功能。

        类是对一类事物的描述,是抽象的

        对象是一类事物的实例,是具体的

        类是对象的模板,对象是类的实体

        面向对象的好处:
        ①更符合人们的思考习惯
        ②将复杂的问题简单化
        ③从“执行者”变为“指挥者”

2.类与对象
        类:类是现实事物的抽象描述,现实事物具备属性和功能。类使用类的成员变量来描述事物的属性,使用类的成员方法来描述事物的功能
        对象:通过类的抽象描述,创建出来的具体的实例

类的定义格式:
        public class 类{

                //成员变量
                //成员方法
        }

类的定义格式举例(以Student类举例):

public class Student {
    //成员变量
  	String name;//姓名
    int age;//年龄

    //成员方法
    //学习的方法
    public void study() {
    System.out.println("好好学习,天天向上");
  }

    //吃饭的方法
    public void eat() {
    System.out.println("学习饿了要吃饭");
  }
}

创建对象:

        类名 对象名 = new 类名();

访问对象:

        对象名.成员变量;
        对象名.成员方法();

对象的使用格式举例:

public class Test01_Student {
  public static void main(String[] args) {
    //创建对象格式:类名 对象名 = new 类名();
    Student s = new Student();

    //直接输出成员变量值
    System.out.println("姓名:"+s.name); //值为null
    System.out.println("年龄:"+s.age); //值为0

    //给成员变量赋值
    s.name = "张三";
    s.age = 18;

    //再次输出成员变量的值
    System.out.println("姓名:"+s.name); //值为张三
    System.out.println("年龄:"+s.age); //值为18

    //调用成员方法
    s.study(); //定义的Student类内的方法, "好好学习,天天向上"
    s.eat(); // 定义的Student类内的方法,"学习饿了要吃饭"
  }	
}

3.局部变量和成员变量的区别:
①在类中的位置不同【重点】
        成员变量:类中,方法外
        局部变量:方法中或者方法声明上(形式参数)
②在内存中的位置不同(了解)
        成员变量:堆内存
        局部变量:栈内存
③生命周期不同(了解)
        成员变量:随着对象的创建而存在,随着对象的消失而消失
        局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
④初始化值的不同【重点】
        成员变量:有默认值
        局部变量:没有默认值。必须先定义,赋值,最后使用
⑤作用范围不一样【重点】
        成员变量:类中
        局部变量:方法中

下面简单举例一下:

        public class Car{

                String color;//此处即是成员变量

                public void drice{

                        int speed = 40;//此处即是局部变量

                        System.out.println("汽车时速是:"+speed);

        }

}

变量的就近访问原则:
        先找局部变量,如果没有找到局部变量再去找成员变量,即局部变量>成员变量

4.封装

        封装的步骤:将属性隐藏起来,若需要访问某个属性,提供公共方法对其访问。

下面先介绍两个关键字,private和this:

private:

        ①private是一个权限修饰符,代表最小权限。

        ②可以修饰成员变量和成员方法。

        ③被private修饰后的成员变量和成员方法,只在本类中才能访问。

使用格式:

private 数据类型 变量名;

public class Student {
    private String name;
    private int age;
}

this:
        this一般在方法内使用,代表当前对象的引用。哪个对象调用这个方法,哪个对象就是当前对象,this可以区分成员变量和局部变量
使用格式是:this.成员变量名;

4.构造方法 
        当一个对象被创建时候,构造方法用来初始化该对象,给对象的成员变量赋初始值,构造方法可以重载。
        构造方法有空参构造和满参构造,一般情况满参构造都是为了给成员变量赋值。

定义格式:
        public 类名(参数){
        }

        注意:一个类中如果一个构造方法都没定义,java会默认提供一个空参构造,如果定义了任何一个构造方法,java都不会提供空参构造了

4.JavaBean类 
        一个类如果具备私有的成员变量,空参的构造方法,get/set方法,就可以称这个类是一个JavaBean类

JavaBean类的格式:

public class ClassName{
        //成员变量
        //构造方法
        //无参构造方法【必须】
        //有参构造方法【建议】
        //成员方法    
        //getXxx()
        //setXxx()
}

public class Student {
    //成员变量
    private String name;
    private int age;

    //构造方法
    //空参构造
    public Student() {}

    //满参构造
    public Student(String name,int age) {
        this.name = name;
        this.age = age;
    }

    //成员方法
    publicvoid setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    publicvoid setAge(int age) {
        this.age = age;
    }

    publicint getAge() {
        return age;
    }
}

        详细的讲课内容的同学可以去听听多易教育老师的讲课视频,老师肯定是讲的比我多比我要具体,欢迎大家一起讨论~

疑点难点

        今天的讲课内容稍微有点懵,对于最后视频讲课的封装没有听的很明白,下来仔细研究了一下讲义再结合着老师的讲课才弄明白。JavaBean类的具体操作当时是听明白了的,但是自己实际动手操作还是很慢,虽然重在理解但是还是要下来自己经常练习才行。

自我感受

        讲课下来还是能听的懂的,加上自己感兴趣,老师也讲的非常明白,就是自己要有更多的耐心和信心去学习去实践,在自己选的感兴趣的道路上一致走下去感觉非常好,我觉得我还要继续努力,还可以继续进步!加油!

特别鸣谢

学习内容参考多易教育零基础大数据入门课程,有兴趣的朋友可以自己搜索一下多易教育,希望我们能一起努力共同进步!

标签:入班,Java,07,构造方法,成员,name,age,public,变量
来源: https://blog.csdn.net/lly18375281/article/details/119394744

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有