Java SE:面向对象

发布时间:2024年01月17日

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/hqH7Uhttp://xn--zuga

7.成员变量和局部变量

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

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

?

文章来源:https://blog.csdn.net/2301_79526467/article/details/135618486
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。