JAVA——面向对象(基础篇)

目录

面向对象的重点学习:

类(JavaBean类)和对象

一、如何定义类

二、类中成员方法的格式:

三、如何使用对象

   1、创建类的对象(例:创建一个手机的对象)

四、定义类的补充注意事项

面向对象三大特征:封装、继承、多态

封装

一、什么是封装

二、封装思想的好处

三、private关键字

四、set和get方法

五、就近原则和this关键字 

六、构造方法

七、标准JavaBean 

八、基本数据类型和引用数据类型

从理论上

基本数据类型(4类8种):

引用数据类型:

从内存上

基本数据类型:

引用数据类型:

九、成员变量和局部变量


面向对象编程:拿东西过来做对应的事情。

面向对象的重点学习:

1、学习获取已有对象并使用

2、学习如何自己设计对象并使用——>面向对象的语法

面向对象内容:设计对象并使用、封装、this关键字、构造方法、标准JavaBean、对象内存图、补充知识:成员变量、局部变量的区别

类(JavaBean类)和对象

:是对象共同特征的描述

对象:是正式存在的具体东西(new的才是对象)

在JAVA中,必须先设计类,才能获得对象

一、如何定义类

public class 类名{


    1、成员变量(代表属性,一般是名词)
    2、成员方法(代表行为,一般是动词)
    3、构造器
    4、代码快
    5、内部类

}

二、类中成员方法的格式:

public void  方法名字(){

......

}

定义一个手机类: 

public class Phone{

//属性
String brand;
double price;


//行为
public void call(){

System.out.println("手机在打电话");

    }

}

三、如何使用对象

   1、创建类的对象(例:创建一个手机的对象)

格式:

   类名  对象名 = new  类名;

Phone p = new Phone;

2、访问属性:   对象名.成员变量

3、访问行为:   对象名.方法名(...)

    //创建手机对象
    Phone p = new Phone();

    //给这个对象赋值
    p.brand = "OPPO";
    p.price = "3999.99";

    //获取手机对象中的值
    System.out.println(p.brand);
    System.out.println(p.price);


    //调用手机中的方法
    p.call();

下面是一个定义JaavaBean类的实际例子 :


public class Activity {    


    //成员变量
    private String id;

    private String schoolname;
    private String state ;
    private String name;
    private String headname;
    private String headnumber;
    private String url;
    private String date;
    private String time;


    //空参构造
    public Activity(){}



    //有参构造
    public Activity(String id, String schoolname, String state, String name, String headname, String headnumber, String url, String date, String time) {
        this.id = id;
        this.schoolname=schoolname;
        this.state = state;
        this.name = name;
        this.headname = headname;
        this.headnumber = headnumber;
        this.date = date;
        this.time = time;
    }

    //GET和set方法
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getHeadname() {
        return headname;
    }

    public void setHeadname(String headname) {
        this.headname = headname;
    }

    public String getHeadnumber() {
        return headnumber;
    }

    public void setHeadnumber(String headnumber) {
        this.headnumber = headnumber;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public String getTime() {
        return time;
    }

    public void setTime(String time) {
        this.time = time;
    }
    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getSchoolname() {
        return schoolname;
    }

    public void setSchoolname(String schoolname) {
        this.schoolname = schoolname;
    }
}

四、定义类的补充注意事项

1、用来描述一类事物的类,专业叫做:JavaBean类,在JavaBean类中,是不写main方法的。

2、编写main方法的类,叫做测试类。我们可以坐在测试类中创建JavaBean类的对象并进行赋值调用。 

3、类名首字母建议大写,需要见名之意,驼峰模式(大驼峰、小驼峰命名法)

4、应该JAVA文件中可以定义多个类,但只能一个类是public修饰,而且public修饰的类名必须成为代码文件名(建议在JAVA开发中还是一个文件定义一个class类)

5、成员变量的完整定义格式是:  修饰符 数据类型 变量名称 = 初始化值;一般无需指定初始化值,存在默认值。

面向对象三大特征:封装、继承、多态

封装

一、什么是封装

 告诉我们,如何正确设计对象的属性和方法;

原则:对象代表什么,就得封装对应的数据,并提供数据对应的行为;

二、封装思想的好处

让编程变得很简单,有什么事,找对象,调方法就行。

降低学习成本

三、private关键字

是一个权限修饰符,可修饰成员变量和成员方法,被private修饰的成员只能在本类中才能访问,其他类就不能直接访问了,保证数据安全性 

四、set和get方法

所以要创建set和get方法,set方法用于给成员变量赋值,get方法用于获取成员变量的值,方法用public修饰。在set方法里可以直接对其他类使用成员变量时赋值范围作出限制

(这里以黑马教程中的一段代码为例做解析)

五、就近原则和this关键字 

1、成员变量和局部变量,在方法外面的变量就是成员变量,在方法里面的就是局部变量。(后面会具体讲)

2、就近原则就是当有局部变量和成员变量名称相同时,输出这个变量名时系统会优先使用离得近的那个变量值

3、this关键字,可以区别成员变量和局部变量。但如果输出的变量名使用的是this.变量名,那么代表的是要输出成员变量的值,不再就近。

六、构造方法

 也叫作构造器、构造函数,有空参构造和带参构造

作用在创建对象的时候给成员变量进行赋值

特点:

1、方法名与类名相同,大小写也要一致

2、没有返回值类型,连void都没有

3、没有具体的返回值(不能有return带回结果数据)

4、不能手动调用构造方法,创建对象的时候有虚拟机调用,每创建一次,就会调用一次构造方法

无参构造方法:初始化对象时,成员变量的数据均采用默认值

有参构造方法:初始化对象时,同时为对象进行赋值

七、标准JavaBean 

1、类名见名之意,驼峰命名

2、成员变量使用private修饰

3、提供至少两个构造方法:无参构造、带全部参数的构造方法

4、成员方法/行为:提供每一个成员变量对应的set/get方法,如果还有其他行为也需要写上

八、基本数据类型和引用数据类型

从理论上

基本数据类型(4类8种):

整数类型、浮点数类型、布尔类型、字符类型

引用数据类型:

除了基本数据类型的其他所有类型

从内存上

基本数据类型:

数据值是存储在自己的空间中

特点:赋值给其他变量,也是赋的真实的值

引用数据类型:

数据值是存储在其他空间中,自己空间中存储的是地址值。

特点:赋值给其他变量,赋的地址值

九、成员变量和局部变量

成员变量和局部变量的区别
区别成员变量局部变量
类中位置不同类中、方法外方法内,方法申明上
初始化位置不同有默认初始化值没有,使用前要完成赋值
内存位置不同堆内存栈内存
生命周期不同随对象的创建存在,随对象消失二消失随方法调用存在,随方法运行结束消失
作用域整个类中有效此局部变量的方法中有效

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值