Java之面向对象

1,面向对象思维

(1)面向对象是Java语言的特点

(2)面向对象概念解释

OOP:Object Oriented Programming(面向对象程序设计)

思维:将事物进行抽象成类、对象,通过类、对象相互之间的关系构成一个整体

英雄联盟:

5类英雄:例ADC是这类英雄的抽象

牛肉拉面:

面向对象:组件+拼装

三类:面、汤、菜

(3)面向对象的三特性与五个原则

三特性:封装、继承、多态

五原则:了解

单一职责/开放封闭/里氏替换/依赖倒置/接口分离

  1. 如何描述一个类?

功能(方法)、特征(属性)

  1. 新建Java程序

Window -> show view -> project explorer

  1. 新建一个项目

file -> new -> java project -> 命名 ->finish

  1. 新建一个包

右键单击项目->(src) -> new package -> name(命名首字母小写)->finish

  1. 新建一个类

右键单击包->new class->name(命名首字母大写)->finish

  1. Java基本语法:
  1. ;书写要求:

书写用英文字符

Tab键输出包含关系

  1. :注释:

注释就是开发者说明解释代码

提高代码的可读性,便于维护语法://表示单行注释

/*被注释的内容*/  多行注释

  1. :主方法作用(main):main是参数名

Package:包

Public:公用的

Public static void main(String[] args){};

Static:静态的

程序运行的入口

  1. 类的属性
  1. 属性是类的特征的描述
  2. 如何定义属性?

Static final数据类型 变量 变量名

Java的数据类型(8个):

整数:byte/short/int/long

小数:float/double

布尔:boolean

字符:char

  1. 属性的使用

修饰词

Static:静态的

Static修饰的属性是全局属性(作用范围)、

有static可以全局用,没有static不能全局使用

Final 修饰词

修饰属性,表示属性值不可变

权限修饰词

public 公众的

任何一个类都可以使用

protected 受保护的

同包中的类可以使用

default 默认的

关键词省略不写,同包中使用
Private 私有的

当前类使用

如何使用?

类名.属性名

  1. 输出语句:
  1. System.out.Println()

表示在console控制台输出内容并换行
(2)System.out.print()

表示在console控制台不换行

若输出的是字符串,加双引号,其他不加

  1. 方法:(Function):主方法不属于任何一个类
  1. 是什么?What(定义):

是一段完成特定功能的代码片段

作用:描述一个类

  1. 什么时候用?

封装功能体,使用这个功能

  1. 怎么用?  方法的定义

修饰符 返回值类型 方法名(参数列表){功能体}

(简述main方法(是什么,什么特点,怎么用,何时用?)

程序的住入口,代码是从主方法上开始执行的

写法是固定的

定义一个类中使用

如果一个类需要独立运行的时候,就需要main方法)

参数列表:

是功能体中会用到的数据

如何定义?数据类型 变量名,数据类型 变量名...

形参:定义时用的参数叫形式参数

实参在使用方法时传入具体的值叫实际参数

功能体:包含功能的代码片段

返回值类型:

指的是功能体向外返回的数据的类型

若不需返回数据,用void(无返回值类型

注意:有返回值,需要关键词return向外返回

功能体中,return后的代码不运行

Static 修饰方法

被修饰的方法为静态方法

若是静态方法,可以被类直接使用

静态方法只能访问静态的方法、属性

非静态的方法可以访问静态成员

  1. 怎么样?方法的调用

类名.方法名();

若是静态方法,可以被类直接使用

  1. 抽象方法

修饰词:abstract(抽象的)

特点:抽象方法不能有方法体

注意:必须在抽象类中

因为这个方法要被子类实现,不能用private

不能使用static

扩展:抽象类中必须要有抽象方法吗?

不是

  1. 方法的重载(overload
  1. 是什么

方法名一样,参数列表不一样

参数不一样,个数或数据类型不一样

  1. 使用

根据参数列表,自动运行对应的方法

  1. 对象 object
  1. 何为对象?

Java是面向对象的编程

对象和类的关系

对象是类的实例化,类是对象的抽象(模板)

  1. 如何新建一个对象呢?

声明并实例化对象

类名 对象名 =new 类名();

先声明,再实例化

类名 对象名 =null;

对象名 =new 类名();

  1. 构造方法(construction)

什么功能?创建对象的功能

在创建对象时,会自动调用构造方法(隐藏)    

如何定义构造方法?

方法名和类名完全相同

不需返回值类型,不要static修饰

Java中自带的构造方法是无参构造方法

This的理解

This指的是当前对象                

  1. 对象之间的引用

                   复制内存地址进行引用

int a=1;

int b=a;

a=5 ;

b?  (b的值为1)  

9,类的引入   

(1)  使用外部类时,需要先引入

关键词import —包名.类型

若是Java自带的类库:import java.包名.类名  

在代码的package下      

10 ,接口(Interface)

(1)接口是什么? 

理解为特殊的类,类中的方法没有具体的实现

(2)接口中的属性默认值是public static final 修饰。

(3)接口中没有构造方法。      

(4)接口的定义                                     

权限修饰符 Interface 接口名{}

  1. 接口的实现

Implements 关键词

11,继承

关键词 extends(扩展)

例:A类继承B类,表示A类对B类的扩展

A类被称为B类的子类,B类是A类的父类

子类又称基类;父类又称超类

         特点:子类可以继承父类所有的方法和属性,private除外   

Java是单继承的语言:一个子类只能有一个父类                     

注意:子类在创建对象时,先调用父类的构造方法

再调用自己的构造方法       

当父类中的构造方法有参数时,子类新建对象时要注意

使用super(参数)调用父类的构造方法

Super表示父类;

super()表示调用父类的构造方法;

super.x表示调用父类的属性x;

super.f()表示调用父类的方法f   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值