面向对象编程

一,面向对象的思想

1.面向:拿或者找

2.对象:东西

3.面向对象编程:拿或者找东西过来编程解决问题(万物皆对象)

4.面向对象编程的好处:代码符合人类的思维习惯,编程程序更简单,看程序更容易理解吧

二,类,对象

1.类(设计图):相同事物的共同特征的描述

2.对象:对象是类的具体的实例(对象==实例)

3.在Java中必须先定义类,才能得到对象

三,定义类来创建对象

1.定义类的格式

publc class 类名{
1.成员变量(代表属性,一般是名词):数据类型 名称
2.成员方法 (代表行为,一般是动词)
3.构造器
4.代码块
5.内部类
}

2.定义类有一些注意事项

(1)数据首字母建议大写,有意义,满足驼峰,不要用关键字,合法的标识符

(2)一个Java文件中可以定义多个类,但是只能一个类是publc修饰的,而且public修饰的类名必须成为Java代码的文件名称,否则报错!

3.类中具体怎么写呢?

(1)定义汽车类为例

(2)一般名词定义成属性

修饰符 数据类型 变量名称 =初始值;

private String name;

private double price;

成员变量不建议给初始值,存在默认值,默认值的规则;整型是0,浮点型是0.0,引用数据类型是null,布尔型是false

(3)一般动词定义方法(行为)

4,具体定义类的样子

public class Car{
//名词(属性,成员变量)
String name;
double price;
//动词(行为,成员方法)
public void start(){
System.out.println(name+"价格是"+price+"启动成功~~");
}
public void run(){
System.out.println(name+"价格是"+price+"性能很好,跑得很快~~");
}
}

5.创建对象

类名 对象名 =new 构造器();

对象怎么使用 

对象名.成员变量

对象名.成员方法

四,构造器

1.作用:初始化一个类的对象,并返回这个对象的地址。

2.详细格式:修饰符 类名(形参)(...)

3.构造器的分类:(1)无参构造器:初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值(2)有参数构造器:初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值

4.构造器如何调用呢?

类名 对象名=new 构造器;

5.注意:

(1)任何类写出来自带一个无参数构造器,写不写都有

(2)如果你在这个类中定义了一个有参数构造器了,那么无参构造器就消失了,此时,如果你还要使用无参构造器,你必须自己写一个

public class Car{
    String name;
    double price;
    /**
    无参构造器
    */
public Car(){
    System.out.println("无参数构造器被调用了~~");
}
    /**
    无参构造器
    */ 
public Car(String n,double p){
    System.out.println("有参数构造器被调用了");
    name = n;
    price = p;

}
}

}

五,this关键字

1.this的作用:代表了当前对象的地址,可以访问当前对象的成员变量和成员

2.this具体用在哪儿呢?

(1)可以用在有参数构造器中的

public Car(String name,double price){
//注意:this在构造器中,代表构造器正在初始化的那个对象。
    System.out.println(this);
    this.name=name;
    this.price=price;
}

(2)可以用在方法中

public void goWith(String name){
//注意:this在方法中,谁调用这个方法this就代表谁!
    System.out.println(this.name+"正在和"+name+"比赛");
}

六,封装

1.面向对象的三大特征:封装,继承,多态。

2.封装的基本思想:决定属性和行为归属谁的问题

(1)定义人类( 名称,年龄,吃饭,睡觉)

 (2)定义圆类 半径,画圆

(3)定义门类 开门,高宽

(4)定义票类 票价,地址,买票

3.如何更好的封装?

(1)成员变量建议privare私有化,只能本类访问

(2)合理暴露:提供成套的getter和setter方法暴露取值和赋值

七.标准JavaBean

1.是什么?就是所谓的实体类(学生类,老师类,汽车类,票类,人类)

2.作用:创建对象,封装是数据的

3.标准Bean的书写要求

(1)成员变量建议private私有化,只能本类访问了

(2)合理暴露:提供成套的getter和setter方法暴露取值和赋值

(3)必须提供无参数构造器

八,局部变量和成员变量的区别

区别                        成员变量                                局部变量

类中位置不同         类中,方法外                          常见于方法中

初始化值不同         有默认初始化数值                   没有,使用之前需要完赋值

内存位置不同         堆内存                                     栈内存

生命周期不同         随着对象的创建而存在,         随着方法的调用而存在,                                                          随着对象的消失而消失             随着运行结束而消失

 作用域                                                                    再所归属的打括号中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值