面向对象1

面向过程和面向对象
面向过程: procedure oriented programming 缩写 POP
    分析出解决问题所需要的步骤,然后把步骤一步一步实现。
    面向过程直接关注流程。
面向对象: object oriented programming 缩写 OOP 面向对象的编程语言   
    以分类的方式进行思考和解决问题。
    面向对象先对整体关系作出分类,然后根据不同的类深入细节的处理。
    面向对象的思想符合人类的认知习惯。
   
   面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观
上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过
程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,
成为无源之水。
java
类的结构
成员变量:事物属性的描述;
方法 : 事物的行为;
构造方法:初始化对象;
内部类:
即在类体中声明的类。
块:一段没有名称的代码块
Java 类的定义
第一步 发现类
类的声明格式为 :
[ 访问权限修饰符 ] [ 修饰符 ] class Car{
}
访问修饰符有两种 public ,无 ( 默认 )
修饰符:
final,abstract
关键字 class 用来定义一个类
Java 类名的命名规范 :
类名首字母大写 , 见名知意 , 驼峰表示
第二步:发现类的共有属性 ( 成员变量 )
public class Car{
// 成员变量定义
String name; // 名称
String color; // 颜色
float price;// 价格
}
声明成员变量的格式为:
[ 访问权限修饰符 ] [ 修饰符 ] type attr_name [=defaultValue] ;
成员变量是定义在类中,方法体之外的变量。
成员变量可以使用 Java 语言中任何一种数据类型(包括基本类型和引用类型)。
在定义成员变量时可以对其初始化,如果不对其初始化, Java 使用默认的值对其初始化。
成员变量在创建对象的时候会从类中复制一份到对象中。
成员变量可以被类中方法、构造方法和特定类的语句块访问。
成员变量的作用范围为整个类体。
第三步:发现类的方法
public class Car{
// 成员变量定义
String name; // 名称
String color; // 颜色
float price;// 价格
方法声明格式为 :
[ 访问权限修饰符 ] [ 修饰符 ]/ void start(){
System.out.println(" 汽车启动 ");
[return 返回值 ;]
}
}
对象的创建和使用
对象的创建和使用
Car x1 = new Car();
Car x1 :使用Car类作为类型声明一个变量x1.
new Car() :使用new + Car类构造方法创建对象.
= : 将右边创建的对象地址 赋给 左边的x1变量
使用x1变量访问对象中的成员变量和成员方法.
同一类的每个对象有不同的成员变量存储空间。
同一类的每个对象共享该类的方法。
类和对象
总结类和对象
类是一类事物的抽象概念,是一个模型.
对象是由这个模型所创造的一个个具体存在的,实实在在存在的实例.
所以创建对象的过程也叫实例化对象.
现实生活中先有对象后有类,而编程时先设计类后创建对象
变量分类
按照位置变量分为:
● 成员变量:
成员变量是定义在类中,方法体之外的变量。
成员变量可以使用 Java 语言中任何一种数据类型(包括基本类型和引用类型)。在定义成
员变量时可以对其初始化,如果不对其初始化, Java 使用默认的值对其初始化。成员变量
在创建对象的时候会从类中复制一份到对象中。
成员变量可以被方法、构造方法和特定的语句块访问。
成员变量的作用范围为整个类体。
● 局部变量:
在方法、构造方法或者语句块中定义的变量被称为局部变量。
局部变量可以使用 Java 语言中任何一种数据类型(包括基本类型和引用类型)。局部变量
在使用前必须初始化赋值。
变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁。 方法分类
l 成员方法:成员方法是定义在类中。
语法格式:
修饰符 返回值类型 方法名 ( 参数列表 ) {
方法体语句;
[return 返回值 ]
}
● 构造方法 : 用来初始化对象的方法 构造方法
构造方法名与类名相同 , 且没有返回值,且不需要使用void修饰
作用:在构造方法中为创建的对象初始化赋值,
在创建一个对象的时候,至少要调用一个构造方法。
每个类都有构造方法。如果没有显式地为类定义构造方法,
Java将会为该类提供一个默认
构造方法,但是只要在一个Java类中定义了一个构造方法后,默认的无参构造方法即失效。
一个类可以有多个构造方法。
例:
public class Car{
public Car(){ }
public Car(String name){ // 这个构造方法有一个参数:name }
}
例:创建Car类的对象
Car car1 = new Car();
Car car2 = new Car(“宝马”)
方法的重载
方法的重载是指同一个类中具有相同的名字,但参数不同的多个方法。
参数不同(可以有三方面的不同)
数量不同
类型不同
顺序不同
调用时,会根据不同的参数表选择对应的方法。
注意:方法重载跟方法的返回值类型没有任何关系
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值