java23

1.包:
相同的类名可以存在于不同的包内,避免了名字冲突
包之间可以限定权限:根据不同的修饰符可以确定是否能访问其它包里的类
package包名.子包名.子子包
包名:--1--遵循标识符的规范:不可以以数字开头,不能使用关键字
--2--全部小写
--3--企业开发中包名使用公司的域名,不过顺序要倒着写
--4--在代码中类的简单名称:直接是类名
类的全限定名称:包名.类名

2.import 关键字(导包操作)
shift+ctrl+o调用其他的包
数组的排序

Arrays.sort(数组名称);//将数组中的元素重新排序后,把内存地址重新赋给数组
打印格式:System.out.println(Arrays.toString (数组名称));

java23_第1张图片

3.静态导入:想在此包里直接调用其他包里的方法。去掉类名
格式:import static类的全限定名称.(末尾加上)static成员名称
eg:

原来:
import java.util.Arrays;
Arrays.sort();
静态导入后:
import static.java.util.Arrays.;
sort();
但不适用于toString方法

4.封装:
信息隐藏:把不需要让外界知道的知识隐藏起来
将对象的状态和行为看成一个统一的整体
优点:
信息隐藏,不向外界暴露具体实现细节
保证数据的安全性
保证数据的合理性
将对象的状态和方法封装在一个类中,提高数据的复用性
优点一:调用方便

将用户登陆的方法和封装两种形式作对比

**我只想知道用户的名字年龄**

public class 方法 {
    static void commit(String name,int age,String sex) {    
        System.out.println(name);
        System.out.println(age);
    }
    public static void main(String[] args) {
        commit("ww",1,"");      //性别也必须要占个位置
    }
}
【ww
1】

class User{
    String name ;
    int age;
    String sex;
    void image(User user) {
        user.name="zs";
        user.age =1;
        System.out.println(user.name);
        System.out.println(user.age);
    }
}
public class 封装 {
    public static void main(String[] args) {
        User user1=new User();
        user1.image(user1);     //只需要调用类中的方法
    }
}
【zs
1】

优点二:
保证数据的合理性

**年龄必须大于0**
class User1{
    String name;
    int age;
    void setAge(int a) {
        age=a;
        System.out.println(a);
    }
}
public class 封装2 {
public static void main(String[] args) {
    User1 ww=new User1();
    ww.setAge(-20);
}
}
【-20】
class User1{
    String name;
    int age;
    void setAge(int a) {
        age=a;
        if(a>0) 
            System.out.println(a);
        else
            System.out.println("不合法");
    }
}
public class 封装2 {
public static void main(String[] args) {
    User1 ww=new User1();
    ww.setAge(-20);
}
}
【不合法】

5.一个包中可以有多个类,但只有一个public

你可能感兴趣的:(java23)