设计对象并使用
设计类,创建对象并使用
类:是对象共同特征的描述
对象:是真实存在的具体实例
所以在Java中,必须先设计类,才能创建对象并使用
设计类
public class 类名{
1.成员变量(代表属性,一般是名词)
2.成员方法(代表行为,一般是动词)
3.构造器
4.代码块
5.内部类
得到类的对象
类名 对象名 =new 类名();
使用对象:
访问属性: 对象名.成员变量
访问行为: 对象名.方法名(...)
定义类的几个补充注意事项
●类名首字母建议大写,且有意义,满足"驼峰模式"。
●一个 Java 文件中可以定义多个 class 类,但只能一个类是 public 修饰,而且 public 修饰的类名必须成为代码文件名。实际开发中建议还是一个文件定义一个 class 类。
●成员变量的完整定义格式是:修饰符 数据类型 变量名称=初始化值;一般无需指定初始化值,存在默认值。
对象在内存中的运行机制
对象是放在堆内存中
Car c =new Car(); c 变量名中储存的是对象在堆内存中的地址
3.成员变量的数据放在对象中,存在于堆内存中
两个变量指向同一个对象
public class Student {
String name;
String sex;
String hobby;
public void study(){
System.out.println("名字"+name+",性别"+sex+"爱好"+hobby+"马上要开学啦!");
}
}
public class Demo1 {
public static void main(String[] args) {
//创建学生对象
Student s1 =new Student();
s1. name ="小明";
s1. sex ="男";
s1. hobby ="睡觉";
s1.study();
// 把s1变量赋值给一个学生类型的变量s2
Student s2 =s1 ;
s2.hobby =" 学习,运动";
System.out.println(s2.name); //小明
System.out.println(s2.sex); // 男
System.out.println(s2.hobby); //学习,运动
s2.study();
}
}
构造器
构造器的作用
●定义在类中的,可以用于初始化一个类的对象,并返回对象的地址
构造器的格式
修饰符 类名(形参列表){
...
}
Public class Car{
...
//无参构造器
public Car(){
}
//有参构造器
public Car (String n,double p){
}
}
调用构造器得到对象的格式
类 变量名称 =new 构造器
Car c = new Car();
Car c = new Car("..." ,"...");
构造器的分类和作用
●无参数构造器(默认存在的):初始化对象时,成员变量的数据均采用默认值
●有参数构造器:在初始化对象时,同时可以接收参数为对象进行赋值
构造器的注意事项
● 任何类定义出来,默认就自带了无参数构造器,写不写都有。
●一旦定义了有参数构造器,那么无参数构造器就没有了,如果还想用无参数构造器,此时就需要自己手写一个无参数构造了。
this关键字
this关键字是可以出现在构造器和方法中,代表当前对象的地址
this关键字的作用:可以用于指定访问当前对象的成员变量,成员方法
封装
概念
1.面向对象的三大特征:封装,继承,多态
2.如何正确设计对象的属性和方法
3.封装的原则:对象代表什么,就得封装对应的数据并提供数据对应的行为
如何更好的封装
●一般建议对成员变量使用private(私有,隐藏)关键字修饰, private修饰的成员只能在当前类中访问。
●为每个成员变量提供配套public修饰的getter,setter方法暴露其取值和赋值。
JavaBean
也可以称为实体类,其对象可以用于在程序中封装数据。
标准 JavaBean 须满足如下书写要求:
●成员变量使用 private 修饰。
●提供成员变量对应的 setXxx ()/ getXxx ()方法。
●必须提供一个无参构造器;有参数构造器是可写可不写的。