java 面向对象Word文档格式.docx

上传人:b****5 文档编号:20015039 上传时间:2023-01-15 格式:DOCX 页数:65 大小:34.84KB
下载 相关 举报
java 面向对象Word文档格式.docx_第1页
第1页 / 共65页
java 面向对象Word文档格式.docx_第2页
第2页 / 共65页
java 面向对象Word文档格式.docx_第3页
第3页 / 共65页
java 面向对象Word文档格式.docx_第4页
第4页 / 共65页
java 面向对象Word文档格式.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

java 面向对象Word文档格式.docx

《java 面向对象Word文档格式.docx》由会员分享,可在线阅读,更多相关《java 面向对象Word文档格式.docx(65页珍藏版)》请在冰豆网上搜索。

java 面向对象Word文档格式.docx

&

||!

(非)

9。

关系运算符

==!

=>

=<

<

10。

三目运算符

例如:

Stringop="

"

;

intnum=20;

op=(num>

20)?

success"

:

error"

11。

程序流程控制及循环结构体

if-elseswitch-case

forwhiledo-while--breakcontinue等语句

12。

数组

一维intnum[]=newint[5];

二维intnum[][]=newint[5][4];

类和对象

1.什么是对象?

具有明确的状态和行为的实体(对象<

===>

东西)。

2.什么是类?

对象的集合体,具有相同属性(状态、特征)和方法(行为、功能)。

3.如何定义类?

publicclass类名{

//定义属性(变量)

//定义方法(函数)

}

Eg:

publicclassPerson{

//定义属性

Stringname;

intage;

//定义方法(函数)

voidsay(){

//这里写具体执行的功能

4.如何创建对象?

语法:

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

Personp1=newPerson();

5.根据创建的对象,调用属性和方法?

对象名.属性或者对象名.方法名();

p1.name=”张三”;

p1.say();

 

继承与多态

一.继承

1.什么是继承?

事物的共同性质的类(具有相同属性或方法的类)。

类中表现形式:

子类、父类的关系。

2.为什么需要使用继承?

a)解决代码重复问题、维护更简单。

b)能够使用父类中的属性和方法,使当前类变得更强大。

3.如何使用继承?

继承使用关键字:

extends

publicclass子类名extends父类{

//在子类中,就可以使用父类中的属性和方法

注意:

1.一个类只能继承一个父类。

2.父类中私有(private)属性和方法,在子类中不能使用。

3.所有类默认都会继承自Object(所有类都是Object的子类)。

4.继承中关键字的使用:

super、this

this关键字:

1.可以用来调用当前类中的属性和方法。

2.也可以调用当前类的构造函数。

(语法:

this(参数值,…))

注意:

特别注意:

一定注意:

前提条件:

必须是构造函数

中的第一行。

super关键字:

1.可以用来调用父类中的属性和方法。

2.也可以调用父类的构造函数(语法:

super(参数值,..))

必须是子类构造函数

中的第一行

3.在继承关系中,子类默认会去调用父类中无参数的构造方法。

二.多态

多态是面向对象中的重要特性之一。

1.什么是多态?

事物的多种形态。

多态在程序中具体表现:

方法的重载、方法的重写。

2.为什么需要使用多态?

重载:

简化用户操作。

(eg:

MessageBox.show())

重写:

扩展父类中的方法。

3.如何使用多态?

(在一个类中有多个方法名相同的方法,此时称方法被重载)

特点:

1.方法名必须相同。

2.参数不同。

(a)参数的数据类型不同b)参数的个数不同

(c)参数的顺序不同)

?

——方法的签名不同

(在子类和父类关系中,子类有一个跟父类完全相同的方法)

2.参数必须完全相同(参数类型、个数、顺序)。

3.返回值也必须相同。

总结:

1.继承——子类与父类的关系(子类可以用父类的属性和方法)。

2.所有类默认情况都会继承:

Object。

3.多态——方法的重载、重写(多种形态)。

4.重载特点:

一个类中,方法名相同,方法的签名不同。

5.重写特点:

子类与父类中,方法名相同,方法的签名相同,

返回值也相同时,称为重写。

访问修饰符(Java中的关键字)

1.访问权限修饰符

public(公共的):

任何地方、任何类都可以访问。

private(私有):

只能在当前类中使用,其他地方禁止访问。

default(默认;

注意不写的意思):

当前类+同一个包

(只要在同一个包中都可以)

protected(受保护):

当前类+同一个包+不同包中的子类。

2.方法修饰符

static(静态)

static可以用来修饰属性、也可以用来修饰方法。

修饰属性:

静态变量

修饰方法:

静态方法

1.在内存中,存放在静态区(内存中会是一个唯一)。

2.最先被执行。

(Java在启动虚拟机的时候,会先加载静态数据)

3.可以通过类名直接访问属性或方法。

类名.属性或类名.方法();

4.静态方法只能够访问静态变量。

:

例如

staticintb;

intc;

staticvoidjiaa(){

System.out.println(b);

//静态方法只能访问静态变量

《--错误--System.out.println(c);

}

final(固定、最终)

final关键字可以用来修饰:

属性、方法、类

表示常量

表示方法不能被重写。

修饰类:

表示类不能被继承(最终类)。

abstract(抽象)

abstract:

可以用来修饰方法、类

抽象:

不具体,不完整。

抽象修饰方法:

表示方法只有定义,没有方法体。

抽象修饰类:

表示类不能被实例化(因为类不完整)。

1.如果一个类中有一个或者多个抽象方法,那么当前类必须定义为抽象类。

2.抽象类不能被实例化,只能用在继承关系中,

由子类来重写父类中的抽象方法;

如果子类没有实现父类中的全部抽象方法,子类也必须定义为抽象类。

//例子

abstractpublicclassEg2{

abstractvoidshow();

abstractvoidjia();

publicclassEg3extendsEg2{

@Override

voidshow(){

//TODOAuto-generatedmethodstub

System.out.println("

姓名"

);

voidjia(){

3.接口(interface)

接口:

是抽象的最高境界。

接口作用:

1.能够解决Java中单根继承的问题。

2.程序的扩展性更强。

面向对象的总结(核心思想):

推荐书籍:

ThinkingJava4版

1.类的基本概念?

模板,用于创建对象。

类中定义属性和方法。

2.对象的基本概念?

具体的、实际存在的;

有明确的状态和行为。

3.构造方法?

构造方法与普通方法不同:

3.1方法名必须跟类名相同。

3.2方法没有返回值。

3.3方法不能显示调用,只能在创建对象的时候由new关键字调用。

4.包?

包指文件夹:

用于将类分开管理。

创建包:

package导入包:

import

5.继承?

继承的关键字:

作用:

5.1解决代码重复问题。

5.2子类拥有父类的所有属性和方法

(私有除外)。

6.多态?

多态:

多种表现形态。

程序中的多态:

方法的重载和方法的重写。

一个类中,方法名相同,参数不同的方法称为重载。

子类与父类的关系中,方法名、参数、返回值相同的方法,

称为重写。

7.this和super?

this表示:

调用当前类的属性和方法。

super表示:

调用父类的属性和方法。

this和super都可以表示调用构造方法;

必须在构造方法的第一行。

8.访问修饰符?

权限修饰符:

public\private\default(不写)\protected

方法修饰符:

static、final、abstract

9.抽象的最高境界:

接口(interface)。

Java中常用类

一.包装类

(主要的api)

java.applet提供创建applet小程序的类

java.lang提供Java程序设计的基础类

java.util提供时间日期随机数的

提供网络应用程序类

java.text提供格式化信息

1.什么是包装类?

将系统中的基本数据类型,转换成引用数据类型。

int-?

Integer

float?

Float

/**valueof方法将原始数据类型转换成包装数据类行

……………………………

2.为什么要使用包装类?

为了解决将引用数据类型转换成基本数据类型。

3.如何使用包装类?

Integer.parseInt();

//将字符串类型,转换成int类型

Float.parseFloat();

//将字符串类型,转换成float类型

二.字符串处理对象String、StringBuffer、StringBuilder

String字符串特点:

1.定义字符串的时候,会先在内存中查找,如果没有,

将开辟新的内存;

如果存在,直接指向该地址。

2.String中的值,是不可变的。

(如果值发生改变,

将开辟新的内存来存放)——需要字符串的内容经

常发生改变,不能使用String类型。

StringBuffer字符串:

用于处理可变的字符串。

常用方法:

方法名描述

StringBuffer()构造方法,用于创建StringBuffer

字符串对象

append(Stringstr)追加新的字符串

length获取长度

StringBuilder字符串:

常用方法都相同。

StringBuffer与StringBuilder区别:

唯一区别:

StringBuffer是线程安全的、StringBuilder是非线程安全的。

StringBuilder效率最高。

常用的字符串处理String;

如果经常发生改变的,

使用StringBuffer。

Math类

ceil()——向上取值

floor()——向下取值

round()——四舍五入

Date类

如何创建

Datedate=newDate();

System.out.print(date);

方法

gettime();

//返回自1970年1月1日的毫秒数

DateFormat类

其子类:

SimpleDateFormat

方法:

parse()->

将时间转换成Date类型

format->

将时间格式化(现实中的时间)

SimpleDateFormatsdf=newSimpleDateFormat("

-->

参数为时间形式如yyyy-MM-ddhh:

mm:

ssEEEEa

__>

具体为查询API帮助文档

Runtime类

——用于调用当前计算机的常用命令(Dos)。

---------->

常用DOS

开始→运行→输入的命令集锦

gpedit.msc-----组策略

sndrec32-------录音机

Nslookup-------IP地址侦测器

explorer-------打开资源管理器

logoff---------注销命令

tsshutdn-------60秒倒计时关机命令

lusrmgr.msc----本机用户和组

services.msc---本地服务设置

oobe/msoobe/a----检查XP是否激活

notepad--------打开记事本

cleanmgr-------垃圾整理

netstartmessenger----开始信使服务

compmgmt.msc---计算机管理

netstopmessenger-----停止信使服务

conf-----------启动netmeeting

dvdplay--------DVD播放器

charmap--------启动字符映射表

diskmgmt.msc---磁盘管理实用程序

calc-----------启动计算器

dfrg.msc-------磁盘碎片整理程序

chkdsk.exe-----Chkdsk磁盘检查

devmgmt.msc---设备管理器

regsvr32/u*.dll----停止dll文件运行

drwtsn32------系统医生

rononce-p----15秒关机

dxdiag---------检查DirectX信息

regedt32-------注册表编辑器

Msconfig.exe---系统配置实用程序

rsop.msc-------组策略结果集

mem.exe--------显示内存使用情况

regedit.exe----注册表

winchat--------XP自带局域网聊天

progman--------程序管理器

winmsd---------系统信息

perfmon.msc----计算机性能监测程序

winver---------检查Windows版本

sfc/scannow-----扫描错误并复原

taskmgr-----任务管理器(2000/xp/2003)

cmd/kstarthttp:

//网址

常用方法描述

exec执行一个指定的命令

常用命令:

notepad(打开记事本)、calc(计算器)、mspaint(画图)

打开网络命令:

cmd/kstart网址

System类

——系统类,用于输入、输出、获取当前时间的毫秒数。

System.out——输出

System.in——输入

System.currentTimeMillis()——

获取当前时间的毫秒数(1970年1月1日至今的毫秒数)

Calendar类

主要方法

add()在时间某部分加上

get()得到单独的年、月、日

gettime()转换成Date对象

set()设置具体时间

before()after()返回true或false

如何创建

//创建Calendar对象

Calendarcal=Calendar.getInstance();

得到具体的某部分时间

Calendar.方法

eg:

packagecom.lilin2;

importjava.util.Calendar;

importjava.util.Scanner;

importjava.applet.*;

/**

*创建万年历

*@authoradministrator

*

*/

publicclasseg1extendsApplet{

publicvoidxianshi(intyear,intmouth){

//输出信息

System.out.println("

\t\t"

+year+"

年"

+mouth+"

月"

System.out.println();

System.out.print("

日\t一\t二\t三\t四\t五\t六\n"

//创建Calendar对象

Calendarcal=Calendar.getInstance();

//设置日期为输入的日期

cal.set(Calendar.YEAR,year);

cal.set(Calendar.MONTH,mouth-1);

//0-11月

cal.set(Calendar.DATE,1);

//获取最大的日期

intday=cal.getActualMaximum(Calendar.DATE);

//获取第一天是星期几

intweek=cal.get(Calendar.DAY_OF_WEEK)-1;

//保存空格个数

intcount=0;

for(inti=0;

i<

week;

i++){

System.out.print("

\t"

count++;

}

//打印日期

for(inti=1;

=day;

if(count%7==0){

System.out.println();

}

System.out.print(i+"

publicstaticvoidmain(String[]args){

//实例化少秒器

Scannersc=newScanner(System.in);

while(true){

//提示输入

请输入年:

intyear=sc.nextInt();

请输入月:

intmouth=sc.nextInt();

//创建对象及调用方法

eg1eg=neweg1();

eg.xianshi(year,mouth);

\n\n是否继续!

(yORY):

Stringtr=sc.next();

if(!

(tr.equals("

Y"

)||tr.equals("

y"

))){

break;

}

集合框架

一.Collection接口

表示集合框架的父类。

Collection接口中常用方法:

必须记住:

add(Objectobj)添加数据到集合中

get(intindex)根据下标获取数据

remove(Objectobj)删除指定的数据

size()集合的大小

contains(Objectobj)验证是否重复

toArray()将集合转换成数组

Collection接口的两个子接口:

List、Set

List子接口特点:

允许存放重复数据、有序的(添加的顺序)可以使用for循环遍历数据。

--例子(arraylist或linkedlist--调用方法一样)

ArrayListaa=newArrayList();

aa.add("

a"

b"

c"

输出方式

方法一

Iteratorit=aa.iterator();

for(;

it.hasNext();

){

System.out.println(it.next());

方法二

for(inti=0;

i<

aa.size();

sysout(aa.get(i));

Set子接口特点:

不存放重复数据、无序的(添加的顺序无关),

必须使用Iterator(迭代器)遍历数据。

hashset与treeset一样>

HashSets=newHashSet();

s.add("

Iteratorit=s.iterator();

while(it.hasNext()){

实现了List接口的两个常用类:

ArrayList特点:

采用堆栈存储数据(跟数组相同)——遍历速度快,删除速度慢。

LinkedList特点:

采用链表存储数据(跟链子类似)——遍历速度慢,删除速度快。

实现了Set接口的两个类:

HashSet特点:

采用Hash算法来存放数据,数据无序。

TreeSet特点:

采用树形结构存放数据,数据自动排序。

二.Map接口

Map(映射)——将对象,按照名字=值(键=值,键值对)的形式存放。

Map接口常用方法:

put(key,value)添加数据到map中。

get(key)根据key取值

remove(key)根据key删除

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 文学研究

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1