预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共34页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
JAVA面向对象
面向对象编程三本基本特点:封装继承多态
ObjectOrientedProgramming[oop面向对象编程]
面向对象编程思想中有两个非常重要的概念,类,对象
一类
所谓的类,就是类型,数据类型,相对于我们学的基本数据类型,包含的内容要更丰富
类似于c#中的struct。我们可以根据需求自己定义数据类型【类】。
class类名
{
//成员变量属性
数类型名变量名1;
数类型名变量名2;
数类型名变量名3;
//成员方法行为
方法的返回值类型方法名1(必要的参数)
{
}
方法的返回值类型方法名2(必要的参数)
{
}
.......
}
二对象
类类型的变量就是对象
类名变量名=new类名();该变量名即为对象
因为该对象是属于某个类,所以,变量名点点可以调出该类的所有内容
每个对象拥有自己的成员变量和成员方法
三关于设计类需要注意
1Java是面向对象编程语言,所有的内容必须都放在一个类里面
2每个文件可以有多个类,但只能有一个类是public,并且文件名必须和
public类的类名一样。jvm会为每个类生成一个字节码文件*.class
最好一个文件一个类。
3通常会把main函数放在一个单独的类里面,作为整个项目的启动类
4成员变量如果不赋值有默认值,对数值类型默认值是0,boolean类型默认值为
false,对于所有的类类型默认值为null
对于局部变量没有默认值,需赋值后才可以使用
*方法的重载和构造方法
一方法的重载methodoverload
在一个类中定义多个方法名相同,参数不同的方法。这些方法之间
就构成了重载不能根据方法的返回值区分不同的方法
二构造方法
在一个类中定义方法名和类名相同,并且该方法没有返回值,也不能放void。这样的方法就叫构造方法
1构建一个类的对象时候(new),一定会调用构造方法
2一个类一定有构造方法,如果不明确设置则系统会为我们提供给一个无参的构造方法,如果明确定义构造方法,则系统就不会为我们提供构造方法。
3构造方法也支持方法的重载,即一个类中可以有多个构造方法。
4构造方法中一般放一些初始化的操作
5构造方法之间可以互相调用
this(必要的参数);
注意该语句必须是构造方法的第一条语句
*this使用、访问修饰符、数据类型
一this使用
this:表示当前这个类的一个引用【对象】。
1当局部变量【在方法里面定义的变量包括形参】和成员变量【在方法外定义的变量】同名的时候,在方法中局部变量会覆盖掉
成员变量,如果想使用成员变量必须用[this.变量名]这种方式
2构造方法之间可以互相调用方法是在构造方法的第一条语句中加this(必要的参数)
二访问修饰符
控制类里面的成员变量或成员方法能在那里被访问
在java中一共有四种访问修饰符
默认privateprotectedpublic
1private私用的
可以用在成员变量或成员方法前表示该变量或方法只能被当前的类所访问
2public公有的
可以用在成员变量或成员方法前表示该变量或方法能被所有的类所访问
3在设计一个类的时候,通常成员变量都是private,成员方法都是public
如果在类的外面想使用成员变量则必须提供对应的公有的方法
public成员变量的数据类型getXxx()
{
returnxxx;
}
publicvoidsetXxx(成员变量的数据类型xxx)
{
this.Xxx=xxx;
}
这样的做的理由有三个
3.1可以设置成员变量是只读,只写等访问权限
3.2可以控制为成员变量付一些合法期望的值
3.3这样的成员变量有一些特殊的功能javabean【后面会讲】
三数据类型
java中的数据类型分两种一种基本数据类型【8种】一种是引用数据类型【类】
类:分两种,一种是系统给我们提供的类,第二种根据需求自己定义的类。但是无论使用那一种类语法和含义都是一样的。
都是new出来,都要产生对象。系统给我们提供的类大约有四千左右,并且随着jdk版本的跟新,系统中的类越来越多,以满足我们的开发需求。为了方便使用这些类,系统中的所有类都分门别类的放在不同的包【和操作系统中的文件夹类似】中。比如
所有有关图像界面的类都放在java.awt.*javax.swing.*所有常见的工具类都放在java.util.*,比如所有文件操作用到的类都放在
java.io.*;
*栈与堆、产生一个对象、java中方法调用、java的垃圾自动回收
一栈(stack)与堆(heap)
都是指的内存,但是这两块内存存储数据的性能是不一样。
1栈空间(stack)
存储在栈空间的数据,处理速度比堆空间处理速度快,仅次于寄存器的处理速度。但是存储在栈空间的数据大小和生存期必须是
已知的,缺乏灵活性
2堆