【JavaSE】类和对象详解(下)

2024-04-08 1545阅读

前言

面向对象程序的三大特性:封装、继承、多态~

书接上回 类和对象(上)~

【JavaSE】类和对象详解(下)

欢迎关注个人主页:逸狼


创造不易,可以点点赞吗~

如有错误,欢迎指出~



目录

前言

封装

private

public

快速生成可访问封装的方法

导包

通过import导包

模糊导入*

特殊举例

建包

static

静态成员变量

​编辑

静态成员变量的访问

静态方法

静态与非静态方法的相互调用

代码块

普通代码块

实例代码块

静态代码块

执行顺序


封装

private

代码层面封装:用private修饰成员变量,使得该成员变量只能在该类下使用

优点:提高了数据的安全性

    private String name;

例如以下代码,在Person类用private修饰name(封装了),在Test这个类中就不能使用了

【JavaSE】类和对象详解(下)

【JavaSE】类和对象详解(下)

这里的name报错

那应该如何访问被封装的成员变量呢?

public

我们在Person类下面写两个方法,用public 修饰,使得其他类也可以访问这些方法

    
     public void eat(){
        System.out.println(this.name+"在干饭!");
    }
    public void setName(String name){
        this.name=name;
    }
    public String getName(){
        return this.name;
    }

【JavaSE】类和对象详解(下)

快速生成可访问封装的方法

【JavaSE】类和对象详解(下)

【JavaSE】类和对象详解(下)

【JavaSE】类和对象详解(下)

结果截图

【JavaSE】类和对象详解(下)

所以,一般情况下(有的时候还是要根据实际情况来):

  • 成员变量定义为private
  • 成员方法定义为public

    简单来说就是一个文件夹

    用于分类多个Java文件

    导包

    通过import导包

    以Arrays举例

    【JavaSE】类和对象详解(下)

    会在第一行自动导入Arrays包

    【JavaSE】类和对象详解(下)

    模糊导入*

    【JavaSE】类和对象详解(下)

    特殊举例

    这样写更方便了,但不建议,因为代码的可读性下降了。

    【JavaSE】类和对象详解(下)

    建包

    包名:全是小写,域名的逆置写法

    比如一个域名是www.baidu.com,在设置包名时是写com.baidu.www

    【JavaSE】类和对象详解(下)

    【JavaSE】类和对象详解(下)

    【JavaSE】类和对象详解(下)

    static

    静态成员变量

    被static修饰的成员变量叫做 静态成员变量(类变量),不存在对象中,存在方法区里,静态成员变量不依赖于对象(不属于某个对象,是所有对象共享的)

        public static String country="中国";//用static修饰成员变量,让它存储在方法区里
    

    【JavaSE】类和对象详解(下)

    静态成员变量的访问

            System.out.println(person1.country);//利用 对象. 的方式访问静态变量country
            System.out.println(Person.country);//利用 类名. 访问静态变量country

    两种方法都合法,但是第一种方法不合理!建议使用第二种方法

    静态方法

        public static String getCountry() {
            return country;
        }

    静态与非静态方法的相互调用

    静态方法是不需要对象的,在静态方法中调用需要对象的方法是不行的

    【JavaSE】类和对象详解(下)

    那该怎么解决这个问题呢?

    我们可以在静态方法里面创建一个对象,用于非静态方法调用,这样就不会报错了

    【JavaSE】类和对象详解(下)

    相反,在本身就需要对象的方法中调用静态方法是可以的

    【JavaSE】类和对象详解(下)

    代码块

    使用 {} 定义的一段代码称为代码块。

    普通代码块

    定义在方法里面的代码块

    实例代码块

    定义在类里面,方法外面的代码块,也叫 构造块 或者 非静态代码块。

    静态代码块

    定义在类里面,方法外面,并且用static修饰过的代码块

    执行顺序

    先静态代码块,再实例代码块,最后是构造方法。

    【JavaSE】类和对象详解(下)

    静态代码块不管有多个对象,只执行一次(因为类只会加载一次)

    【JavaSE】类和对象详解(下)

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]