面向对象入门

面向对象

1.编程语言的发展史

机器语言——>汇编语言——>高级语言

2.面向程序设计

核心:对象,对象的出现又是基于

三大特征:封装,继承,多态

类:对一类具备相同特征(属性,行为)事物的一种抽象描述

通常由属性和行为构成,属性又叫实例变量和成员变量(全局变量);行为在程序中以方法

修饰符 class 类名称{
    //属性的声明
    //方法的声明
}
属性(实例变量、成员变量、全局变量)
修饰符 数据类型 属性名 = 初始值;

全局变量和局部变量的区别:

  • 局部变量一般定义在方法或者语句块中,使用范围只是在声明区域。一般用于存储临时数据,所以局部变量也叫临时变量。
  • 全局变量一般与实例(对象)相关,定义在类结构中,使用范围为当前类的一类实例方法(全局)
  • 局部变量在使用前必须先赋值,全局变量在对象创建时会自动由编译器赋值,
方法:(实例方法)

行为通常无法想属性一样以变量的形式存在,因为行为是一种动态的特写,这个动态信息需要一个过程来实现,因此行为在java中的表现形式为方法。

对象:

java中:万事万物皆对象

对象就是一个类的实例,类是一个模板,以类为模板可以创建对象,语法如下:

类名称 变量名 = new 类名称();

对象创建的作用:使用具体的对象调用自身的属性和方法

构造器:(构造方法、构造函数)

在对象创建的时候都会使用new关键字后面跟随类名来完成整个对象的创建过程,在java中new关键字之后跟的内容一般称之为构造器,构造器的声明方式与方法非常接近,一般也认为构造器是一种特殊的方法。

作用:初始化对象、为当前的实例、对象变量赋值、资源开启等等

访问修饰符 类名称 (参数列表){
    //执行体
}

构造器的特点

  1. 构造器的名称与类名一样
  2. 构造器不能存在任何类型的返回值(包括void)
  3. 任何一个java类中都存在一个默认的无参构造器
  4. 一旦在类中创建带参数的构造器,则默认的无参构造器将被覆盖
  5. 一个类可以存在多个构造器,必须保证每个构造器的参数:类型,个数,顺序,任意一项不一致(方法的重载)

3.方法重载(Overload)

重载是java多态的实现策略,一个方法多种表现心态,重载即一个类或者接口中存在多多个同名的方法,但是这些方法参数必须不相同(个数、类型、顺序任意一项)

注意事项:

方法的重载与返回值无关

重载的构成必要条件:

  1. 在同一个类或者接口中(存在继承或者实现关系的父子类)
  2. 方法的名称必须相同
  3. 方法参数:个数、顺序、类型,任意有一项不一致

4.package(包)&import

关键字,将不同模块的功能代码通过package组织到不同的目录中分门别类的存储,包还可以标识软件的唯一性,使用域名倒置的写法。

  • 包的定义一般在整个类文件的第一行
  • 一个类或者接口只属于一个package

使用import关键字导包,一个java程序会涉及到很多的不同的软件包,并且某个包需要使用到其他包中的类或者接口,此时就需要将其他的包中的类或者接口导入到当前的类中,这个过程就叫导包。

5.访问修饰符

访问修饰符的范围

  • public:所有情况都可以访问到
  • protected同包,挎包子类可以调用
  • *defualt*同包下访问
  • private只能在本类中访问

关于修饰符的注意事项:

  1. 类只能使用public或者default修饰(内部类除外)
  2. 属性通常使用private修饰,除非有些属性需要被子类重用,会使用protected
  3. 局部变量不可使用访问修饰符
  4. 方法一般使用public修饰符,也有些只为当前类服务的功能方法使用private
  5. 构造器一般使用public修饰,在一些特殊场景(单例模式)也会间到构造器使用private修饰

6.封装

信息隐藏

这指的是对象的一种保护机制,有利于数据的完整性,增强代码的可维护性

封装实现:

通常是将类中的属性私有化,使用private修饰,针对这个属性提供公开的方法进行访问

setter/getter方法

针对与属性提供的公开一般都有固有的写法,通常就是getter/setter方法,特点是:

  • 方法前缀使用set或get开头
  • 后缀一般是属性名称首字符大写
  • 对于boolean类型的get方法一般命名为isXXX
封装的好处
  • 信息隐藏,保障数据安全
  • 提高的程序的内聚性,降低耦合度
  • 提供了灵活的成员访问方法
  • 提高了代码的可重用性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值