java23
1.包:
相同的类名可以存在于不同的包内,避免了名字冲突
包之间可以限定权限:根据不同的修饰符可以确定是否能访问其它包里的类
package包名.子包名.子子包
包名:--1--遵循标识符的规范:不可以以数字开头,不能使用关键字
--2--全部小写
--3--企业开发中包名使用公司的域名,不过顺序要倒着写
--4--在代码中类的简单名称:直接是类名
类的全限定名称:包名.类名
2.import 关键字(导包操作)
shift+ctrl+o调用其他的包
数组的排序
Arrays.sort(数组名称);//将数组中的元素重新排序后,把内存地址重新赋给数组
打印格式:System.out.println(Arrays.toString (数组名称));
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