Java面相对象概述

面向对象的重点知识:

1、类和对象

2、构造方法

3、访问权限

4、继承

5、多态(最重要)

6、抽象与接口

7、内存分析

还有一些相对来说不是很重要的点,以上是这些点是重中之重

面向过程:侧重的是过程

  1. 优点:简单

  2. 缺点:代码量大了之后,维护性非常差

例如:把大象放进冰箱需要几步

第一步:打开冰箱门

第二步:把大象放进去

第三步:关上冰箱门

面向对象:侧重的是对象,你是上帝视角

面向对象是一种认识事物的方法,是 一种以对象为中心的思维方式

对象:世界上所有的事物都可以称为对象,万物皆对象

对象可以是有生命的或无生命的,例如:青蛙、账号等

  1. 优点:可扩展性非常强,维护成本低

  2. 缺点:新手上手难

例如:把大象放进冰箱需要几步

创建一个大象,告诉大象,进冰箱,至于怎么进冰箱我们不用管,是大象自己完成

类和对象


例子:造车

1、画图纸

(1)定义车的属性信息:颜色:color、速度:speed、座位:seat

(2)定义车的动作:跑

2、拿着图纸去造车

面向对象的世界中:

  1. 类:是一类事物的统称,例如人、猫、树;造车的图纸就是类

    属性:一类事物拥有的共同属性,也叫静态特征——变量

    动作:一类事物共同能执行的功能,也叫动态特征——方法

  2. 对象:使用类创建的具体的某一个东西

    对象可以干什么完全是由类决定的

注:

(1)类要使用class来定义

(2)属性:成员属性(成员变量):直接写在类中的变量

局部属性(局部变量):写在方法中的变量,只可以在定义该变量的方法中使用

(3)动作:成员方法,不写static的就是成员方法

(4)创建对象:类 引用 = new 类();

定义类的语法:

修饰符 class 类名(){

类的内容

}

定义方法的语法:

修饰符 返回值类型 方法名(){

方法体

}

注:返回值可以是基本数据类型和引用数据类型,如果没有返回值则写void

public void inputName(){

System.out.println("张三");

}

成员变量和局部变量


变量在不同的位置声明,可以使用的作用范围也不一样,称为变量的作用域

一、成员变量(全局变量):在类中声明的变量、整个类中都可以访问使用

二、局部变量:在方法或代码块中声明的变量,在对应的方法或代码块中才可以访问使用

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

(1)作用域不同 ◆局部变量的作用域仅限于定义它的方法 ◆成员变量的作用域在整个类内部都是可见的 (2)初始值不同 ◆ Java会给成员变量一个初始值,整型是0,浮点型是0.0,字符串是null ◆Java不会给局部变量赋予初始值

注意: 在同一个方法中,不允许有同名局部变量 在不同的方法中,可以有同名局部变量 在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级

一、包的作用:分类型管理所有的类

例如:图书馆的书架,后勤室的柜子,快递室的柜子等

二、JDK提供基本包

(1)java.lang :虚拟机自动引入
(2)java.util :提供一些实用类
(3)java.io:输入、 输出

三、使用MyEclipse创建包的两种方法

(1)分别创建包和类

(2)创建类的过程中创建类所在的包

四、使用idea创建包

先建包再建类

五、导包

(1)一个类同时引用了两个来自不同包的同名类,必须通过完整类名来区分,且不需要用import导入语句

cn.com.oop.Dog dog1=new cn.com.oop.Dog();

cn.com.oop.pet.Dog dog2=new cn.com.oop.pet.Dog();

(2)每个包都是独立的,顶层包不会包含子包的类

cn.com.oop.*表示的是cn.com.oop中的所有类和接口,但不包含cn.com.oop.pet包和其中的类与接口

cn.com.oop.pet.*才是表示cn.com.oop.pet中的所有类

(3)package和import的顺序是固定的

package必须位于第一行(忽略注释行)

只允许有一个package语句

其次是import语句(可以多句)

接着是类的声明

访问权限

一、JAVA中有四种访问权限:private,protected,public,还有就是什么都不写。

public:公共访问权限,所有的类都可以访问,无论在不在一个包中。

default(默认):是包访问权限,也就是说在同一个包类就可以访问。

protected:是继承访问权限,在同一个包中的可以访问,对于不在同一个包中的类,如果该类是父类的子类,则可访问。不再同一个包中的不是继承的类就不可以访问。

private:私有访问权限,只有在同一个类里才能访问。

默认变量和protected变量的共同点是在同一个包中都可以访问,但是如果不在同一个包中,但是有继承关系,protected变量就可以访问。但默认变量只要是不同的包,无论有没有继承关系都不能访问。

同一个类中同一个包下其他类中任意包下子类中任意包下的任意类中
public
protected
默认(default)
private

二、访问权限控制

(1)类的访问控制:

①public

②默认

(2)类成员的访问控制:

①private

②protected

③默认

④public

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值