面向对象
-
1、什么是面向对象
思想、思维方式 、思考问题的角度
-
2、面向对象的优点
复杂的问题简单化,更贴近现实生活中人类的思维角度
-
3、面向对象与面向过程的区别
面向过程就是分析出解决问题所需要的步骤,然后用函数实现、调用,关注过程; 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,关注结果。 面向过程适用于执行者,面向对象适用于管理者
-
4、类
类的定义 : public class 类名{ //1.属性-> 成员变量 修饰符 数据类型 变量名 = 赋值; 修饰符 数据类型 变量名; ..... //2.功能-> 成员方法(不被static修饰) public void|返回值类型 方法名(参数列表){ 实现功能的代码; [return 返回值;] } ... }
public class Class_Car {
public String brand;
public String color;
public double price;
public void drive(){
System.out.println("一辆"+price+"的"+color+"的"+brand+"即将开始旅程");
}
}
-
5、对象
1.导包 : 指明要使用类型的位置 不需要导包的类型: 1)java.lang下 2)同包下的类 2.创建对象 : new关键字具有创建对象的能力 引用数据类型 变量|引用 = new 引用数据类型(); 3.使用属性|功能: 引用.属性 引用.功能名字(参数列表)
public class Class_CarTest{
public static void main(String[] args){
//创建对象
Class_Car car=new Class_Car();
//赋值
car.brand="奔驰";
car.color="黑色";
car.price=500000;
//调用
car.drive();
}
}
***注意:***
1)new关键字创建对象的步骤:
①在堆中为对象开辟空间,同时成员变量跟随对象进入堆内存,并赋默认值
②调用构造器为对象初始化信息
③将地址返回给引用
2)成员变量只声明不赋值存在默认值
整数0 小数0.0 boolean:false char:空字符 引用数据类型: null
3)先有类才能创建对象,有了对象才有了成员变量,才能使用成员
-
6、构造器(构造函数、构造方法)
1)作用: 为对象初始化信息(为对象的成员变量赋值) 2)使用: 跟随new关键字一起使用,不能单独调用 3)定义: 修饰符 类名(参数列表){ }
public class Class03_ComputerTest {
public static void main(String[] args){
//创建对象的同时为成员变量赋值
Computer c=new Computer("联想",5000);
c.run();
}
}
class Computer{
String brand;
double price;
//带参构造器
public Computer(String pcbrand,double pcprice){
if(pcprice<0){
System.out.println("价格不合法无法初始化...");
return;
}
brand=pcbrand;
price=pcprice;
}
public void run(){
System.out.println("一台"+brand+"电脑正在运行");
}
}
***注意:***
构造器不能定义void|返回值
构造器也是特殊的方法,具有方法重载的特性->构造器的重载
如果一个类中没有显示的定义构造器,编译器会自动默认提供一个空构造(没有参数的构造器)
如果存在显示定义的构造器,编译器不会再为类型提供任何构造器了,包括空构造
构造器中可以存在return,根据需求定义,实现提前结束构造器,但是不能带出返回值
构造器帮助实现,在通过new关键字创建对象的同时为对象初始化信息
以后定义模板类,至少提供一个空构造,按需提供带参构造