Java基础学习笔记9——面向对象基础

目录

1、类和对象

1.1、类(Class)

1.1.1、类的特点

1.1.2、类的组成(属性和行为)

1.1.3、类的定义

1.2、对象(Object)

1.2.1、对象的创建和使用

1.3、类和对象的使用范例

2、成员变量和局部变量

3、封装

3.1、private关键字

3.2、this关键字

3.3、封装


1、类和对象

1.1、类(Class)

类是对现实生活中一类具有共同属性和行为的事物的抽象,确定对象将会拥有的属性和行为。

1.1.1、类的特点

  • 类是对象的数据类型;
  • 类是具有相同属性和行为的一组对象的集合。

1.1.2、类的组成(属性和行为)

  • 属性:在类中通过成员变量来体现(类中方法外的变量);
  • 行为:在类中通过成员方法来体现(和前面的方法相比去掉static关键字即可)。

1.1.3、类的定义

类是Java程序的基本组成单位。

public class 类名{
    //成员变量
    数据类型1 变量1;
    数据类型2 变量2;
    ...
    范例:String name;

    //成员方法
    方法1;
    方法2;
    ...
    范例:public void study() {...}
}

1.2、对象(Object)

对象是能够看得到摸得着的真实存在的实体。

对象的属性:对象具有的各种特征。每个对象的每个属性都拥有特定的值。

对象的行为:对象能够执行的操作。

1.2.1、对象的创建和使用

创建对象:
格式:类名 对象名 = new 类名();
范例:Student stu = new Student();

使用对象的成员变量:
格式:对象名.变量名
范例:stu.name

使用对象的成员方法:
格式:对象名.方法名()
范例:stu.readBooks()

1.3、类和对象的使用范例

1)创建Student类:

package myPacket;

public class Student{
    //成员变量
    String name; //学生姓名
    int score; //学生分数

    //成员方法
    public void introduce(){ //自我介绍
        System.out.println("我是"+this.name+
                ",本次考试分数为:"+this.score);
    }
}

2)创建test类并执行:

package myPackage;

public class test {
    public static void main(String[] args) {
        //创建第一个对象并使用
        Student stu1 = new Student();
        stu1.name = "张三"; stu1.score = 70;
        stu1.introduce();

        //创建第二个对象并使用
        Student stu2 = new Student();
        stu2.name = "李四"; stu2.score = 80;
        stu2.introduce();
    }
}

3)执行结果为:

2、成员变量和局部变量

  • 成员变量:类中方法外的变量。
  • 局部变量:方法中的变量。
成员变量和局部变量的区别
区别成员变量局部变量
类中位置不同类中方法外方法内或者方法声明上
内存中位置不同堆内存栈内存
声明周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同有默认的初始化值没有默认的初始化值,必须先定义,赋值,才能使用

3、封装

3.1、private关键字

private关键字是一个权限修饰符,可以修饰成员(成员变量和成员方法),作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问。

针对private修饰的成员变量,如果需要被其他类使用,需要进行相应的操作:

  1. 提供“get变量名()”方法(变量名开头大写),用于获取成员变量的值,方法用public修饰;
  2. 提供“set变量名(参数)”方法(变量名开头大写),用于设置成员变量的值,方法用public修饰。

根据成员变量自动写出相应方法的快捷方式:按住Alt+Insert,在弹出的Generate窗口中,选择Getter或Setter,选择对应的成员变量,点击OK即可。

package myPackage;

public class Student{
    //成员变量
    private String name; //学生姓名
    private int score; //学生分数

    //提供get/set方法
    public void setScore(int scr){
        this.score = scr;
    }
    public void setName(String str){
        this.name = str;
    }

    //成员方法
    public void introduce(){ //自我介绍
        System.out.println("我是"+this.name+
                ",本次考试分数为:"+this.score);
    }
}
package myPackage;

public class test {
    public static void main(String[] args) {
        //创建第一个对象并使用
        Student stu1 = new Student();
        stu1.setName("张三"); stu1.setScore(70);
        stu1.introduce();

        //创建第二个对象并使用
        Student stu2 = new Student();
        stu2.setName("李四"); stu2.setScore(80);
        stu2.introduce();
    }
}

3.2、this关键字

  • this修饰的变量用于指代成员变量:方法的形参如果与成员变量同名,不带this修饰的变量指的是形参,而不是成员变量;方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量。
  • 使用this解决局部变量与成员变量同名的问题。
  • this代表所在类的对象引用。方法被哪个对象调用,this就代表哪个对象。

3.3、封装

封装是面向对象三大特征之一(封装、继承、多态),是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的。

  • 封装的原则:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量private,提供对应的getXxx()/setXxx()方法。
  • 封装的好处:通过方法来控制成员变量的操作,提高了代码的安全性;把代码用方法进行封装,提高了代码的复用性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值