面向对象基础[java]

⛳️面向过程和面向对象的设计思想

面向过程和面向对象(都是语言设计思想):

面向过程procedure oriented programming (POP) :关注具体的流程,一步一步实现解决问题。

面向对象:object oriented programming (OOP):先设计,对现实中客观事物进行分类,创建出类(在类中定义功能),类是对现实事物的抽象,创建出具体的对象,让对象去做具体的事情。

案例:把大象装进冰箱

面向过程:三步实现1.开门();2.装大象();3.关门();面向对象: 冰箱类{   开门()   关门()   装大象() } 大象类{  }

面向对象无法取代面向过程,他们是相辅相成的。面向对象关注于从宏观上把握事物之间的关系,在具体到如何实现某个细节时,仍然采用面向过程的思维方式。面向对象如果离开了面向过程,就无法实现真正的落地,成为无源之水。

⛳️java类

概念:类是对现实事物的抽象,实际生活中,先有对象(具体存在),后有类。

类的结构:

成员变量:类中的属性

名词:品牌,颜色,价格,型号..... 

方法:事物的行为(功能,可以做的事情)

动词:行驶,加速,停止......

构造方法:用于创建对象;

代码块:一段没有名称的代码块

内部类: 即在类体中声明的类。

⛳️Java类的定义

第一步:发现类

类的声明格式:

[访问权限修饰符] [修饰符,abstract,final] class Car{ ​}

public修饰的类,类名必须与文件名一致。

非public修饰的类,类名可以与文件名不一致

第二步:定义类的成员变量(属性) 成员:类的成员,在类中定义

[访问权限修饰符] [修饰符] type attr_name[=defaultValue] ;

变量按照位置分为:成员变量,局部变量

成员变量

①定义在类中,方法体之外;

②数据类型可以是java支持的任意类型(引用类型,基本类型);

③成员变量可以初始化,也可以不初始化,不初始化时,java会用默认值为其初始化。其中,引用类型默认值是null 整数类型默认值0,浮点类型默认值0.0 boolean类型默认值false,char类型类型默认值是' ';

④创建对象时,会从类中向对象中复制一份成员变量;

⑤在构造方法,成员方法,代码块中可以使用成员变量。

第三步:定义类的成员方法(行为/功能)

[访问权限修饰符] [修饰符]/ void 方法名(){​}

●局部变量:

①定义在方法,构造方法,代码块中;

②使用前必须赋值;

③数据类型可以是java中支持的任意类型;

④方法的参数也是局部变量,方法运行时局部变量创建,运行结束后局部变量销毁。

成员方法: 定义在类中,没有被static修饰的,通过对象调用,用static修饰的,可以通过类名直接调用。

案例:Car.java

//1.发现类public  class Car {//2.定义类的成员变量(属性)       String name;       float price;       String color;       int speed;//3.定义类的成员方法(行为/功能)      public void run(int b){             int a = 0;             System.out.println(a);             System.out.println(b);             System.out.println(name+"汽车行驶");         }       public void stop(){             System.out.println(name+"汽车停止");         }​}

⛳️对象的创建和使用

对象:具体存在的客观事物,可以拿来使用的,万事万物皆为对象。

Car bm = new Car();

new:以Car类为模板,在内存中创建对象;

Car():构造方法,默认有一个构造方法,方法名与类名相同;

Car bm:声明一个Car类型的变量;

= 将创建的对象赋给左边的变量;

bm 表示一个具体存在的对象,可以使用。

同一类的每个对象有不同的成员变量存储空间。

同一类的每个对象共享该类的方法。

对象内存简图:

 

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAY2hlbi53eA==,size_20,color_FFFFFF,t_70,g_se,x_16

案例:TextCar.java

public class TestCar {​    public static void main(String[] args) {              Car bm = new Car();           bm.name  = "宝马";           bm.color = "黑色";           bm.price = 300000;           bm.run(100);​       Car bc = new Car();           bc.name = "奔驰";           bc.price = 400000;           bc.color = "白色";           bc.run(200);​       Car ad = new Car();        System.out.println(ad.name);//null        System.out.println(ad.price);//0.0        System.out.println(ad.color);//null        System.out.println(ad.speed);//0    }}​

⛳️类和对象

①类是一个模型,是对现实事物的抽象,是模板。

②对象是从类这个模型所创建出的一个具体实例,所以创建对象的过程也叫实例化对象。

③现实生活中先有对象后有类,而编程时先设计类后创建对象。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chen☆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值