包、导包、修饰符

包package

其实就是文件夹
作用:对类进行分类管理。
包的定义格式
package 包名;(多级包用“.”分开)
范例:package com.itheima
在这里插入图片描述

导包

在这里插入图片描述
在这里插入图片描述

修饰符

高聚内: 类的内部数据操作细节自己完成,不允许外部干涉。
低耦合: 仅对外部暴露少量的方法用于使用。
隐藏对象内部的复杂性,只对外公开简单的接口。便于外界调用,从而提高系统的可扩展性、可维护性。通俗的说:把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。

封装性的体现需要权限修饰符来体现。
权限修饰符
在这里插入图片描述
修饰符权限测试:

同一个包下不同类
public class Demo {
    private int a=10;
    int d;
    public int c;
    private void method1(){
        c=10;
        d=20;
        a=30;
    }
    void method2(){
        c=10;
        d=20;
        a=30;
    }
    public void method3(){
        c=10;
        d=20;
        a=30;
    }
}
public class Demo1 {
    public static void main(String[] args) {
        Demo d1=new Demo();
        d1.a=2;//private 报错
        d1.d=3;//默认
        d1.c=5;//public
    }
}

在这里插入图片描述
状态修饰符
final(最终态)
可以修饰成员方法,成员变量,类。
1.final修饰的方法是最终方法,不可以被子类重写。但子类依旧可以使用父类的该方法。
2.final修饰的成员变量不能再次被赋值,相当于常量。public final int age=10;
3.fiinal修饰的类因为是最终类,所以不能做父类。
4.final修饰局部变量:

package myday;

public class Phone {
	public int age=20;

}
//测试
package myday;

public class Demo {
	public static void main(String[] args) {
		//final修饰基本类型变量:相当于常量
		final int age=20;
		//final修饰引用类型变量
		final Phone p=new Phone();
		p.age=100;//变量可以再次赋值
		//但是对象p的地址不能再改变
		p=new Phone();//报错
	}

}

static(静态)
static关键字是静态的意思,可以修饰成员方法,成员变量。

package myday;

public class Phone {
	public String name;
	public int age;
}
//测试
package myday;

public class Demo {
	public static void main(String[] args) {
		Phone p1=new Phone();
		p1.name="aaa";
		p1.age=15;
		Phone p2=new Phone();
		p2.name="bbb";
		p2.age=15;
		//上面p1,p2两个对象中的age是一样的
		//若每个对象的age都一样,那么每次都要重新赋值操作
		//为了简便,可以使用static修饰age
		//这样每个对象使用的都是同一个age
	}
}

上面的代码使用static改进:

package myday;

public class Phone {
	public String name;
	public static int age;
}
//测试
package myday;

public class Demo {
	public static void main(String[] args) {
		Phone p1=new Phone();
		p1.name="aaa";
		Phone p2=new Phone();
		p2.name="bbb";
		Phone.age=15;//可以直接类名.变量名赋值
		//也可以对象名.变量名赋值
		//两种方法的效果一致,推荐第一种
		System.out.println(p1.age+" "+p2.age);
		//输出:15 15
	}

}

在这里插入图片描述
非静态成员方法可以访问所有的静态和非静态成员方法和变量。
而静态的成员方法只能访问静态的成员方法和静态的变量。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值