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

前言

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

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

欢迎关注个人主页:逸狼

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

如有错误,欢迎指出~

目录

前言

封装

private

public

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

导包

通过import导包

模糊导入*

特殊举例

建包

static

静态成员变量

​编辑

静态成员变量的访问

静态方法

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

代码块

普通代码块

实例代码块

静态代码块

执行顺序


封装

private

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

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

    private String name;

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

这里的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;
    }

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

结果截图

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

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

简单来说就是一个文件夹

用于分类多个Java文件

导包

通过import导包

以Arrays举例

会在第一行自动导入Arrays包

模糊导入*

特殊举例

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

建包

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

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

static

静态成员变量

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

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

静态成员变量的访问

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

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

静态方法

    public static String getCountry() {
        return country;
    }

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

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

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

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

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

代码块

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

普通代码块

定义在方法里面的代码块

实例代码块

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

静态代码块

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

执行顺序

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

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

版权声明:本文为博主作者:逸狼原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/2301_80898480/article/details/137195415

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2024年4月16日
下一篇 2024年4月16日

相关推荐