目录
面向对象:
- 一种编程思想
- 把具体事件当做一个个的对象来解决问题
- 程序代码更容易理解
学习目标:
自己设计对象并使用
1.设计类,才能获得对象
- 类图(设计图):对象共同特征的描述
- 类:
public class 类名{
1.成员变量(一般是名次,代表属性;例如汽车类型,价格)
//成员变量的完整定义格式:修饰符 数据类型 变量名称(=初始化值:不写也有默认值);
2.成员方法(一般是动词,代表行为;例如汽车启动,定价)
(3.构造器 4.代码块 5.内部类)
}
2. 获得对象:
- 类名 对象名=new 类名();
// Car c =new Car();
- 调用方法:对象名.方法名;
3.实例代码
//Car类
//Car类 public class Car { //属性(成员变量) String name; double price; //行为 public void getPrice() { System.out.println("价格为"+price); } public void start() { System.out.println("启动"); } }
//对Car类的应用
public class APP { public static void main(String[] args) { Car c=new Car();//对象c c.name="XXX";//调用:对象名.方法名; c.price=39; System.out.println(c.name); System.out.println(c.price); c.getPrice(); c.start(); Car c2=new Car();//对象c2 c2.price=45; c2.getPrice(); c2.start(); } }
运行结果
多个对象的内存分配
- 栈内存:分配 变量空间,对象的引用地址
- 堆内存:分配 对象空间,方法的引用地址
- 方法区:方法的空间
垃圾:
- 当堆内存中的类对象或数字对象,没有被任何变量引用是
- java存在自动垃圾回收期,会定期清理
构造器
- 用于初始化一个类的对象,并返回对象的地址
1. 构造器的定义格式
修饰符 类名(形参列表){ ... }
2.初始化对象的格式
类型 变量名称 = new 构造器;
Car c =new Car();
3. 构造器的分类
- 无参数构造器(默认存在):初试化对象时,成员变量的数据均采用默认值
任何类被定义,默认就带有无参构造器
public Car(){ ..... }
- 有参构造器:在初始化对象时,同时可以为对象进行赋值
public Car(String n,String b){ ... }
4.构造器的使用
public class Car {
//无参数构造器
public Car(){
System.out.println("无参数构造器被触发");
}
//有参数构造器
public Car(String n,double p){
System.out.println("无参数构造器被触发");
name = n;
price = p ;
}
}
public class APP {
public static void main(String[] args) {
Car c=new Car();
System.out.println(c.name);
System.out.println(c.price);//都采用了默认值
Car c2=new Car("宝马",80);
System.out.println(c2.name);
System.out.println(c2.price);
}
}
学习视频Java入门基础视频教程,Java零基础自学首选黑马程序员Java入门教程(含Java项目和Java真题)_哔哩哔哩_bilibili