包的定义与使用
-
什么是包?作用是什么?
包在硬盘中的存在形式是目录,目录的作用是存放文件夹。
作用:1,让代码文件管理更加直观方便
2,命名冲突:com.taobao.StringUtil与com.jingdong.StringUtil -
当使用其他类时需要导入这个类(包名+类名),一般使用域名的倒叙来命名包名。不能以java开头,java开头的被jdk包了
-
jdk定义了很多类给我们使用,使用时需要导包import
当有多个类需要导入时可使用:java.lang.*这个包下的类默认全部导入 -
自己的包名用package来使用定义,不考虑空格与注释
对象和类
-
类的五大成员?
属性、方法、构造器、代码块和内部类 -
类是对象的魔板,对象是类的实例
对象的创建以及属性、成员方法的调用
- 通过new关键字来创建对象的实例,new在内存中开辟新的空间
// 数据类型 变量名 = new 构造方法();
Phone p = new Phone() ;//p存放的为地址
p.brand = "华为";
p.color = "黑色";
p.price = 5000;
-
属性的调用:对象.属性名
-
成员方法的调用:对象.方法名();
对象的属性及方法
- 对象的属性:成员变量
属性的默认值:int 默认值 0;float 默认值 0.0; double 默认值 0.0; char 默认值 ;boolean 默认值 false; String 默认值 null;
public String brand ;
public String color ;
public double price ;
- 对象的行为能力:成员方法
表示对象所具有的功能(和行为)。
public void call(String number){
System.out.println("给"+number+"打电话...");
}
- 构造方法的定义:
作用:给对象的数据进行初始化
不能有返回类型,否则是成员方法,不是构造方法
如果没有定义构造方法,系统会自动定义一个无参的构造方法
构造方法名必须与类名一致
构造方法可以有多个,但是参数列表不能相同
构造方法不能被调用
// 构造方法
public Phone(){
System.out.println("---即将有一个Phone对象产生1----");
}
// 给对象初始化操作
public Phone(String brand ){
this.brand = brand ;//this为当前对象中的属性
System.out.println("---即将有一个Phone对象产生2----");
}
//每个构造方法参数都不同
public Phone(String brand, String color, double price) {
this.brand = brand;
this.color = color;
this.price = price;
}
实体类的定义与封装
使用get与set方法:
在set属性中可以对传入的值进行判断,使外部类只能输入指定范围,类型的值,只可写。
get属性可以对返回的值进行控制,使得程序保护敏感数据。当属性中只有get属性时,属性为只读属性,只可以取值,不能赋值。
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
调用:
p.setAge(-18);
System.out.println(p.getAge());