【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修饰过的代码块

    执行顺序

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

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


文章版权声明:除非注明,否则均为VPS857原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复:表情:
评论列表 (暂无评论,0人围观)

还没有评论,来说两句吧...

目录[+]

取消
微信二维码
微信二维码
支付宝二维码