1.构造器
1.构造器的作用?
用于初始化一个类的对象,并返回对象的地址。(Car c = new Car( ));这个Car();就是一个简单的构造器。
2.构造器的定义格式?
修饰符 类名(形参列表){
…
}
3.构造器的分类
(1)无参数构造器(默认存在的):初始化的对象时,成员变量的数据均采用默认值。
(2)有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
举个例子:
public class Car {
String CarName;
double price;
// 无参数构造器
public Car(){
//这里定义的内容
}
// 有参数构造器
public Car(String n, String b){
// 这里输入内容
}
}
4.初始化对象的格式
类型 变量名称 = new 构造器;
Car c = new Car( );
5.注意事项
(1)任何类定义出来,默认就自带了无参数构造器,写不写都有。
(2)一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写一个无参数构造器了。
2.总结
1.构造器的作用?
答:初始化类的对象,并返回对象的地址。
2.构造器有几种,各自的作用是什么?
答:无参数构造器:初始化的对象时,成员变量的数据均采用默认值。
有参数构造器:在初始化对象的时候,同时可以为对象进行赋值。
3.构造器有哪些注意事项?
任何类定义出来,默认就自带了无参数构造器,写不写都有。
一旦定义了有参数构造器,无参数构造器就没有了,此时就需要自己写无参数构造器了。
3.封装
面向对象的三大特征:封装、集成、多态。
什么是封装?隐藏实现细节,暴露出合适的访问方式。(合理隐藏,合理暴露)
可能你到这里会问了,为什么要用封装?
看个例子:
这里如果不用封装,然后我们给年龄赋一个 -23的年龄还是可以的。
1.封装的实现步骤
(1)一般对成员变量使用private(私有)关键字修饰进行隐藏,private修饰后该成员变量就只能在当前类中访问。
(2)提供public修饰的公开的getter、setter方法暴露其取值和赋值。
public class Student {
private int age;
public int getAge(){
return age;
}
public void setAge(int age){
if (age >= 0 && age <= 200){
this.age = age;
}else{
System.out.println("请检查年龄数值");
}
}
}
封装的好处:
加强了程序代码的安全性。
适当的封装可以提升开发效率,同时可以让程序更容易理解与维护。
4.总结
1.封装是什么,一般封装怎么体现出来?
(1)面向对象的三大特征之一,合理隐藏,合理暴露
(2)一般会把成员变量使用private隐藏起来。
(3)通过getter和setter方法暴露其访问。
2. 封装有什么好处?
(1)加强了程序代码的安全性。
(2)适当的封装可以提升开发效率,同时可以让程序更容易理解和维护。
5.JavaBean
也可以理解成实体类,其对象可以用于在程序中封装数据。
1.标准JavaBean须满足如下要求:
(1)成员变量使用private修饰。
(2)提供每一个成员变量对应的setXxx()/getXxx()。
(3)必须提供一个无参构造器。
public class User {
// 1、成员变量私有
private String name;
private double height;
private double salary;
// 2、必须提供成套的getter和setter方法暴露成员变量的取值和赋值
public void setName(String name) {
this.name = name;
}
public void setHeight(double height) {
this.height = height;
}
public void setSalary(double salary) {
this.salary = salary;
}
public String getName() {
return name;
}
public double getHeight() {
return height;
}
public double getSalary() {
return salary;
}
}
6.用有参和无参构造器创建对象
public class Test1 {
public static void main(String[] args) {
//1、调用无参数构造器创建对象
User U = new User();
u.setName("吴彦祖");
u.setHeight(185.2);
u.setSalary(1000);
System.out.println(u.getName());
System.out.println(u.getHeight());
System.out.println(u.getSalary());
// 2、调用有参数构造器创建对象
User u2 = new User(name "anganlbaby", height 169.5 ,sarary 1000);
System.out.println(u2.getName());
System.out.println(u2.getHeight());
System.out.println(u2.getSarary());
}
}
总结:黑马程序员Java开课第一天,以后就更新每天学习的知识。