面向对象
面向对象和面向过程
面向过程(POP)
面向过程侧重的是过程,第一步要干嘛,第二步要干嘛,第三步要干嘛,是一步步实现的。
例如:将衣服装进衣柜
第一步:打开衣柜;第二步:将衣服装进衣柜;第三步:关上衣柜;
面向对象(OOP)
何为对象?对象就是我们能够看到的,真实存在的。
面向对象侧重的是对象,它先设计,对现实中客观事物进行分类,创建出类(在类中定义功能),创建出具体的对象,让对象去做具体的事情
Java类与对象
类:是对现实事物的抽象;实际生活中,先有对象再有类。
类是一个模板,它描述一类事物的属性和行为的集合;是表示一个客观世界某类群体的一些基本特征抽象.。
在实际中造车:1.先画图纸;
(1)定义车的属性信息:颜色,价格,名字等等;
(2)定义车的动作:车跑;
2.拿着画好的图纸找工厂造车。
类:即画的图纸
属性:这一类事物所用有的共同属性;
动作:这一类事物共同能执行的功能;
对象:使用类创建的某一个具体的东西(对象能干什么取决于其在类中如何定义);
类的结构:
成员变量:事物属性的描述(属性直接写在类中的变量);
方法:事物的行为;(可以做的事情)
构造方法:用于创建对象,在构造方法中为创建的对象初始化赋值;
内部类: 即在类体中声明的类;
块:一段没有名称的代码块;
代码实现:
public class Car{
String color;//定义颜色
float price;//定义价格
int name;//姓名
}
//构造方法(成员方法)
public void run(){
System.out.println("车能跑");
}
//创建对象
public static void main(String[] args){
Car bc = new Car();//bc为引用类型,可初始化,也可不用初始化
}
new Car() ——> 创建对象(在创建对象时,会从类中向对象中复制一份成员变量)
类 引用(引用类型) = new 类( );
面向对象和面向过程的设计思想
构造方法:
作用:用来初始化新创建的对象;
特点:构造方法名与类名相同,没有返回值,且不需要void来修饰;在无参的构造方法中为新建的对象用默认值初始化赋值;
每个类中都至少有一个构造方法,也可以有多个;
每创建一个对象时,至少调用一个构造方法;
如果类中无构造方法,默认会提供一个无参的,一旦定义有参的构造方法,默认的会失效。
方法的重载
方法的重载是指在同一个类中具有相同的名字,但参数不同的有多个方法;
方法的参数数量,参数类型,参数顺便至少有一个不同;调用时,会根据不同的参数表选择对应的方法。
注:方法的重载与方法的返回值类型没有任何关系。
public class Person {
public int person(int a,int b){
System.out.println("原方法");
return a+b;
}
//参数的数量不同
public int person(int a,int b,int c){
System.out.println("参数数量不同");
return a+b+c;
}
//参数的类型不同
public int person(int a,String age){
System.out.println("参数类型不同");
return a;
}
//参数的顺序不同
public int person(String age,int a){
System.out.println("参数顺序不同");
return a;
}
public static void main(String[] args) {
Person x = new Person();
System.out.println(x.person(1 ,2));
System.out.println(x.person(1,2,3));
System.out.println(x.person(1,"李四"));
System.out.println(x.person("李四",1));
}
}