Java封装应用
- 课程回顾
- Java程序的三大特征
- 封装的定义与作用
- 封装的作用
- 包装类与装箱及拆箱
- 综合案例解析
课程回顾
1.面向对象编程思想
将程序功能封装到Java 的类中,再通过创建对象然后再通过调用对象属性或方法完成程序功能。
面向对象编程适合开发大型复杂的web应用。
2.什么是类与对象,类与对象的关系
类:一系列具有相同的特征与行为的集合,类有成员变量与成员方法,构造器组成
对象(实例instance):它是类的一个个体,对象有属性与方法,对象是类创建出来
关系:类是对象的模板,对象是类的实例
一,Java程序的三大特征
Java有三大特征:封装,继承,多态
三大特征指定了Java程序的结构,使其更加规范
二,封装的定义与作用
定义:
所谓封装,就是将类中成员变量通过私有的访问控制符private进行修饰,不允许外部的对象直接调用属性,在类中提供公共的setXXX与getXXX方法给属性赋值或取值,这种机制称为封装
作用:
计算机代码更加规范,同时使数据更加安全,外部不能轻易篡改数据
建议 java 的类一律使用封装
三,封装的应用
1.使用封装
/**
* 运用封装的原理创建花类
*/
public class Flower {
//声明成员变量
private String zl;
private String color;
private double higth;
//构造器
public Flower() {
}
public Flower(String zl, String color, double higth) {
this.zl = zl;
this.color = color;
this.higth = higth;
}
public String getZl() {
return zl;
}
public void setZl(String zl) {
this.zl = zl;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getHigth() {
return higth;
}
public void setHigth(double higth) {
this.higth = higth;
}
}
public class FlowerTest {
public static void main(String[] args) {
Flower f1 = new Flower();
f1.setZl("月季");
f1.setColor("蓝色");
f1.setHigth(18.3);
System.out.println(f1.getZl());
System.out.println(f1.getColor());
System.out.println(f1.getHigth());
//有参创建的对象
Flower f2 = new Flower("玫瑰","红色",20.3);
System.out.println(f2.getZl());
System.out.println(f2.getColor());
System.out.println(f2.getHigth());
f2.setZl("百合");
System.out.println(f2.getZl());
System.out.println(f2.getColor());
System.out.println(f2.getHigth());
}
}
四,包装类与装箱及拆箱
4.1包装类(wrap)的定义与作用
1.定义与作用
为了更好体现面向对象编程及扩展八大基本数据类型的功能,给八大数据类型设置了对应的类类型,这种跟基本数据类型对应的类类型称为包装类
2.基本数据类型与包装类的对应关系
shot ——Short
int——Integer
long——Long
float——Float
double——Double
byte——Byte
char——Character
boolean——Boolean
/**
* 测试类,验证代码
*/
public class wrap {
public static void main(String[] args) {
System.out.println("---1");
//1.包装类的用法,创建对象调用方法
Short sh = new Short("1");
float temp = sh.floatValue();
//st是变量,直接取得是值
short st = 19;
//int——Interger
Integer it = new Integer(20);
//比较大小,返回
int t = it.compareTo(19);
System.out.println(it);
System.out.println(t);
//求最大值,最小值
int max = Integer.max(90,80);
int min = Integer.min(99,34);
System.out.println(max);
System.out.println(min);
Integer r = Integer.reverse(2);
System.out.println("反转:" + r);
//拿到int型最大值
int len = Integer.MAX_VALUE;
System.out.println("最大值int" + len);
Double db = new Double(99.99);
long d = db.longValue();
System.out.println("---通过Integer类转换数据");
//将十进制转为二进制,返回字符串
String s1 = Integer.toBinaryString(4);
//将十进制转为八进制,返回字符串
String s2 = Integer.toOctalString(4);
//将十进制转为十六进制,返回字符串
String s3 = Integer.toHexString(4);
System.out.println(s1);
System.out.println(s2);
System.out.println(s3);
Float Salary = new Float(28900.88f);
String sa = Salary.toString();
System.out.println(sa);
System.out.println("Float对象转十六进制:" + Float.toHexString(15.88f));
//建议使用包装类的静态方法实现更多功能
System.out.println("--2.装箱与拆箱---");
//1.装箱:将基本数据类型转成对应的包装类对象的过程
//手动装箱:new出对象
Integer a1 = new Integer(20);
//自动装箱:直接赋值方式创建对象
Integer a2 = 20;
int bi = a2.compareTo(24);
//2.拆箱:将包装类对象转换成对应的基本数据的过程
//手动拆箱:使用XXXValue()方法取值方式
int z1 = a1.intValue();
//自动拆箱:直接将对象赋给基本数据类型
int z2 = a1;
System.out.println(a1);
System.out.println(a2);
System.out.println(z1);
System.out.println(z2);
//包装类的作用:
//1.扩展功能,比较大小,求和,转换等
//2.集合中要使用包装类,方便对各种数据进行处理
//装箱与拆箱
//装箱:基本数据类型转对象
//拆箱:对象转基本数据类型
}
}