面向对象基础

面向对象:

Java语言 是一种面向对象的语言。要使用Java进行面向对象的编程,首先要建立面向对象的思想。面向对象是一种直观而且程序结构简单的程序设计方法,他比较

符合人类认识现实世界的思维方法,其基本思想是把问题堪称是由无数给对象组成,这些对象之间是独立的,但

又可以相互配合,链接和协调。从而完成整个程序需要实现的任务和功能。

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

对象:

对象是来描述客观事物的一个实体,用面向对象方法解决问题时,要对显示世界中的对象进行分析和归纳,

找出那些对象与要解决的问题是相关的,例如,奥迪跑车,宝马跑车,奔驰轿车,保时捷跑车,虽然这几个跑车

都是对象,但是他们之间又不同的特征,具体来讲就是品牌不同,价格不同,性能不同等。

类:

刚来的几个跑车对象之间具有一些共同的特征,如都又轮子,门等;还有一些共同的行为,即都能发送,都能加速,都能

制动等。把这些共同的特征和共同的行为组织到一个单元内,就得到了类

类是具有相同属性和方法的一组对象的集合,类定义了对象将会拥有的特征(属性)

和行为(方法)。

类与对象的关系就如同模具和用这个模具制作出的物品之间的关系,一个类给出他的全部对象的一个统一的定义,

而它的每个对象则是符合这种定义的一个实体。因此类和对象的关系就是抽象和具体的关系。类是多个对象进行综合抽象的结果,

是实体对象的概念模型,而一个对象是一个类的实例。

定义类:

面向对象设计的过程就是抽象的过程,一般分三个步骤来完成,

1发现类,类定义了对象将会用于的特征(属性)和行为(方法)

2发现类的属性,对象所拥有的静态特征在类中表示时称为类的属性。

3发现类的方法,对象执行的操作称为类的方法。

属性

Java中类的内部主要包含属性和方法。对象所拥有的特征在类中表示时成为类的属性。

定义属性的语法格式如下。

方法

对象执行操作的行为称为类的方法。例如 人又工作的行为,因此工作就是人类的一个方法。

人类有很多方法,如吃喝睡觉等。

创建和使用对象

创建对象

类是一类事物的集合和抽象,代表这类食物共有的属性和行为。一个对象称为类的一个实例,是类一次实例化的结果。例如,“张三”是一个人类的具体对象,

类的对象可以调用类中的成员,如属性和方法等,

类名 对象名=new 类名()

new是关键字。

左边的类名与对象的数据类型

右边的类名()称为类的构造方法。

使用对象

在java中,要引用对象的属性和方法,需要使用“。”

使用对象的语法如下。

对象名.属性   //引用对象的属性
对象名.方法名()    //引用对象的方法

面向对象的优点有如下几点。

与人类的思维习一致。面向对象的思维方式是从人类考虑问题的角度出发,把人类解决问题的思维过程转变为能够理解的过程,面向对象程序设计使用类来墨迹现实世界中抽象概念,用对象来模拟现实世界中的实体。从而使用计算机解决限时问题

信息隐藏,提高了程序的可维护性和安全性,封装实现了模块话和信息隐藏,即将类的属性和行为封装在类中,这保证了对他们的修改不会影响到其他对象,利用维护,同时封装使得对象外部不能随意访问对象的属性和方法

避免了外部错误,提高了安全性

提高了程序的可重用性,一个类可以创建多个对象实例,体现了重用性。

对象数组

包含了三个元素的独享数组,数据类型为person 并使用for循环遍历输出

public class person{
        public int age
        public Staring name;
        public Person(int age,String name){
                this.age=age;
                this.name=name;
    }
}

成员变量

类成员主要包含两部分;成员方法和成员变量。

方法重载

方法重载是指在一个类中定义多个同名的方法,但要去每个方法具有不同的参数类型或参数个数。

类中的属性,也就是直接在类中定义的变量称作成员变量,他定义在方法的外部。

虽然成员变量age和局部变量age的名称-一样,但表示的却不是同一个变量。一般情况下, 局部变量在使用前需要赋值,否则会编译出错。

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

总的来说,使用成员变量和局部变量时需要注意以下几点。

作用域不同。局部变量的作用域仅限于定义它的方法,在该方法外无法访问它。成员变量的作用域在整个类内部都是可见的,所有成员方法都可以使用它,如果访问权限允许,还可以在类外部使用成员变量。

初始值不同。对于成员变量,如果在类定义中没有给它赋予初始值,Java 会给它一个默认值,基本数据类型的值为0,引用类型的值为null。但是Java 不会给局部变量赋予初始值,因此局部变量必须要定义并赋值后再使用。

在同一个方法中,不允许有同名的局部变量。在不同的方法中,可以有同名的局部变量。

局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。

 

构造方法

java中,当类创建一个对象时自动调用该类的构造方法,构造方法分为默认构造方法和带参数的构造方式。

构造方法的定义

构造方法的主要作用是进行一些数据的初始化。

定义构造方法的语法如下。

[访问修饰符]方法名([参数列表]){
//……省略方法的代码
}

构造方法没有返回值

默认构造方法没有参数,因此参数列表可选。

构造方法的方法名与类名相同。

如果定义了一个或多个构造方法,则java不会自动添加默认构造方法。

构造方法重载

因为this是在对象内部指代自身的引用,所以this只能调用实例变量,实例方法和构造方法,不能调用类变量和类方法,也不能调用局部变量。

封装概述

java中封装的实质就是将类的状态信息因此在类内部,不允许外部程序直接访问,而是通过该类提供的方式来实现对隐藏信息的操作和访问,

封装反应了事物的相对独立行,有效避免了外部错误对此对象的影响,并且能对对象使用这由于大一产生的错误操作起到预防作用。同意面对对象编程提倡对象之间实现耦合关系

封装的好处在于隐藏类的实现细节,让使用这只能通过程序员规定的方法来访问数据,可以方便的加入存取控制修饰符,来限制不合理操作。

封装的步骤

将person类中的属性由pubilc修改为private即可

将person类的属性私有化

关键代码

pubilc class person{
    private String name;   //人名
    private String gender; //性别
    private int age;       //年龄
}

设置方法

可以收到添加setter/getter()方法,也可以使用组合键ctrl+shift+s由系统添加

使用包改进信息输出

包的概念

Java中的包极致也是封装的一种形式。

包含一下三个方面的作用,

包允许将类组和成较小的单元(类似文件夹),易于找到和使用相应的文件。

防止命名冲突;java中只有在不同的包中才能重名,不同的程序员命名同名在所难免,有了包,类名就容易管理了,a定义了一个类sort 封装在包a中,b定义了一个类sort分钟在包b中,在使用时,为了区别a和b分别定义的sort类,可以通过包区分开,如a.sort和b.sort 分别对应于a和b定义的sort类。

包实际上是一种访问控制机制,通过包来限制和制约类之间的访问关系,访问修饰符也是同意可以限制和制约类之间的访问关系。

static关键字

一个类可以创建n个对象。如果n个对象中的某些数据需要公用,就需要使用static关键字修饰这些数据。

Java中一般情况下调用类的成员都需要先创建类的对象,然后通过对象进行调用。使用static关键字可以是实现通过类名加”.“直接调用类的成员。不需要创建类的对象。使用static修饰的属性和方法属于类,不属于具体的某个对象。

用static关键字修饰属性称为静态变量或者类变量,没有使用static修饰的属性称为实例变量

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值