Java SE:面向对象(上)

目录

1. 类和对象

2. 封装

举个栗子

3. 两个关键字

 4. this关键字和就近原则

5. 构造方法 (函数)

6. new关键字(面向对象内存图)

7.成员变量和局部变量


1. 类和对象

类:就是由一个个成员和方法(函数)组成的,等同于c语言里面的结构体和函数的结合

对象:等同于变量

2. 封装

好处:简化代码,方便开发

 比如:人、动物、、电脑、手机等等都可以单独封装成一个类,而类又包含一个个成员,方法,封装好后可以很方便的反复调用该类

举个栗子

public class People {

    //java中的类等同于c语言中的结构体和函数(方法)的结合

    //eg:
    //一个class People类:即自己定义一个类
    //人这个类可以包含人的信息、动作(行为)

    //人的信息:
    /*补充: public是java中的关键字,字面理解:公开的,实际为被public修饰的可以在所有类中调用
            private是java中的关键字,字面理解:私有的,实际为被private修饰的只能在本类中调用
            eg: private int age; 那么age在别的类中调用就会报错
    */

    String name;
    private int age;
    private String gender;

    //获取年龄,我们可以判断是否合法在赋值
    //写一个方法进行判断
    public void SteAge(int a) {
        if (a >= 0 && a <= 150) {
            age = a;
        }
    }

    public int GetAge() {
        return age;
    }


    //人的动作(行为):
    //封装成一个个函数(方法)
    public void Sleep() {
        System.out.println("睡觉咯");
    }

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

 32c931b7305a4fea9fda9b4791d92e35.png

3. 两个关键字

 public是java中的关键字,字面理解:公开的,实际为被public修饰的可以在所有类中调用
 private是java中的关键字,字面理解:私有的,实际为被private修饰的只能在本类中调用
 eg: private int age; 那么age在别的类中调用就会报错

 1251be06bbaf4b17be2df1e21f9eca3b.png

 4. this关键字和就近原则

5787f92cbb68475e8dbebc18a5a6a8e6.png

5. 构造方法 (函数)

若没有构造方法,虚拟机会自动构造方法并且执行,若在类中已经构造方法,调用类时虚拟机会自动识别并且调用相应的类

 构造方法的格式:

public class 类名 {

        //构造方法

        public 类名(里面可以带参数或者不带参数都行) {

                //类名前后必须保持一致并且构造方法不能带任何返回参数(void也不行)才是构造方法

        }

}

97ec57f3a23642e8a15f54c07c796d61.png b130001b4a744a4a8a9c11d28b695536.png

 注意:

       1. 构造方法的定义:

  • 如果没有提供构造方法系统会默认提供一个无参数的构造方法
  • 如果提供了构造方法(无论该方法是有参还是无参)系统都不再提供默认构造方法 

    2. 构造方法的重载:

  • 带参数构造和不带参数构造的方法重名即构造重载,在Java中方法(函数名)名是可以相同的,但是参数要不同

6. new关键字(面向对象内存图)

new关键字实际意思就是动态开辟内存,即在堆区开辟一块空间,等同于c语言动态内存开辟函数(如:malloc、 realloc、 calloc ),c语言中我们知道调用完动态内存函数后,若空间开辟成功将返回一块空间的起始地址,new也不例外,虽然Java中没有指针的概念,但处处都在使用着

如:

e27b843c9b004d1e8ea449781ff3a40b.png

具体可看我C语言中动态内存的章节嘿嘿,都同理,不重复赘述 

http://t.csdnimg.cn/uslOG

7.成员变量和局部变量

成员变量等同于全局变量,成员变量在整个类中都生效,局部变量只在所定义的方法中生效,一句话讲塞在哪个括号范围内定义就在哪个括号范围内有效

局部变量和全局变量在内存中所处范围也可参考上面文章嘿嘿 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

食懵你啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值