
目录
6.1面对对象概述
1.对象
2.类
3.面向对象程序设计的特点
6.2类与对象
1.成员变量
2.成员方法
3.构造方法
4.局部变量
5.局部变量的有效范围:
6. 对象的创建
7.访问对象的属性和行为
8.对象的销毁
9.this关键字
6.3static关键字
1.静态变量:
2.静态常量
3.静态方法
4.静态代码块
6.4类的主方法
6.1面对对象概述 1.对象
在面向对象中,类和对象是最基本、最重要的组成单元。类实际上是表示一个客观世界某类群体的一些基本特征抽象。对象就是表示一个个具体的东西。所以说类是对象的抽象,对象是类的具体。
2.类类是同一类事物的统称,类实质是封装对象属性和行为的载体,而对象则是类抽象出来的一个实例。
3.面向对象程序设计的特点封装性、继承型、多态性
封装:封装是面向对象编程的核心思想。将对象的属性和行为封装起来。采用封装的思想保证了类内部数据结构的完整性。
继承:类与类之间同样具有关系,继承性主要利用特定对象之间的共有属性,注意子类的实例都是父类的实例,但不能说父类的实例是子类的实例。
多态:多态的实现并不依赖具体类,而是依赖于抽象类和接口。
6.2类与对象 1.成员变量在java中对象的属性称为成员变量,数据类型 变量名称 [=值];
java中常见类型的默认值
2.成员方法- 成员方法的定义
- 成员方法的参数
- 调用方法时可以给该方法传递一个或多个值,传给方法的值叫做实参,在方法内部,接收实参的变量叫做形参,形参的声明跟变量的声明一样,形参只在方法内部有效。java中方法参数主要有3种,分别为值参数、引用参数和不定长参数。
- 值参数:表明实参与形参之间按值传递,当使用值参数的方法被调用时,编译器为形参分配存储单元,然后将对应的实参的值复制到形参中 ,在方法中对值类型的形参的修改并不会影响实参。
- 引用参数
如果在给方法传递参数时,参数的类型是数组或者其他引用类型,那么,在方法中对参数的修改会反映到原有的数组或者其他引用类型上,这种类型的方法参数称为引用参数。
- 不定长参数
声明方法时,如果有若干个相同类型的参数,可以定义为不定长参数,该类型的参数声明如下:
权限修饰符 返回值类型 方法名(参数类型...参数名)
注意:参数类型和参数名之间是三个点,而不是其他数量或省略号。
- 成员方法的使用
在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。
构造方法的特点如下:
(1)构造方法没有返回类型,也不能定义为void。
(2)构造方法的名称要与本类的名称相同。
(3)构造方法的主要作用是完成对象的初始化工作,它能把定义对象的参数传给对象成员。
构造方法的定义语法如下:
class Book {
public Book(){//构造方法
}
}
public:构造方法修饰符。
Book:构造方法的名称。
在构造方法中可以为成员变量赋值,这样当实例化一个本类的对象时,相应的成员变量也将被初始化。如果类中没有明确定义构造方法,则编译器会自动创建一个不带参数的默认构造方法。除此之外,在类中定义构造方法时,还可以为其添加一个或者多个参数,即有参构造方法语法如下:
class Book {
public Book(int args){//有参构造方法
//对成员变量进行初始化
}
}
构造方法除了可以用public修饰以外,还可以用private修饰,即私有的构造方法,私有构造方法无法使用new创建对象,这时需要使用静态方法生成类对象。
4.局部变量
如果在成员方法内定义一个变量,那么这个变量被称为局部变量。
局部变量在方法被执行时创建,在方法执行结束时销毁。局部变量在使用时必须进行赋值 *** 作或则被初始化,否则会出现编译错误。
public String getName(){//定义一个getName()方法
int id=0;//局部变量
setName("java");//调用类中其他方法
return id+this.name;//设置方法返回值
说明:类成员变量和成员方法可以统称为类成员。如果一个方法中含有与成员变量同名的局部变量,则方法中对这个变量的访问以局部变量进行。
5.局部变量的有效范围:局部变量的有效范围从该变量的声明开始到该变量的结束为止。
在相互不嵌套的作用域中可以同时声明两个名称和类型相同的局部变量。但是相互嵌套不能。
6. 对象的创建在java语言中通过new *** 作符来创建对象。前文在讲解构造方法时介绍过。
语法如下:
Test test=new Test();
Test test=new Test("a");
Test:类名。
test:创建Test类对象
new:创建对象 *** 作符。
a:构造方法的参数。
test对象被创建出来时,就是一个对象的引用,这个引用在内存中为对象分配了存储空间,
7.访问对象的属性和行为
用户在使用new *** 作符创建一个对象后,可以使用“对象.类成员”来获取对象的属性和行为。前面提到,对象的属性和行为在类中通过类成员变量和成员方法的形式来表示,所以当对象获取类成员时,也相应地获取对象的属性和行为。
8.对象的销毁每个对象都有生命的周期,当对象的生命周期结束时,分配给该对象的内存地址会被回收。在其它语言中需要手动回收废弃的对象,但在Java拥有一套完整的垃圾回收机制,用户不必担心废弃的对象占用内存,垃圾回收站将回收无用的但占用内存的资源。
何种对象会被Java虚拟机视为垃圾。
(1)对象引用超出其作用范围,这个对象将被视为垃圾
(2)将对象赋值为null。
finalize()方法可进行垃圾回收但不一定会发生
System.gc()方法强制启动垃圾回收器。
9.this关键字
this关键字除了可以调用成员变量和方法,事实上this还可以调用类中的构造方法。
6.3static关键字
由static修饰的变量、常量和方法被称作静态变量、静态常量 、静态方法,也被称为类的静态成员。静态成员是属于类所有的。区别于个别对象。
1.静态变量:把共享的变量用static 修饰,该变量就是静态变量。语法如下:
类名.静态类成员
说明:当类首次被加载时,静态变量就被分配到内存中,直到程序结束才会释放。
2.静态常量语法如下:
final static 数据类型 变量名=值;
注意:给静态常量赋值时所有的字母都应该大写。
3.静态方法语法如下:
类名.静态方法();
4.静态代码块
在类中除成员方法之外,用static修饰代码块可以称之为静态代码块。定义一块静态代码块,可以完成类的初始化 *** 作,在类声明时就会运行。
语法如下:
public class StaticTest{
static{
//此处编辑执行语句
}
}
说明:
(1)静态代码块由始至终只运行一次
(2)非静态代码块,每创建对象时候,会在构造方法之前运行。所以读取成员变量时,只能获取到默认值null。
6.4类的主方法(1)主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须是静态的。
(2)主方法没有返回值。
(3)主方法的形参为数组。其中args[0]~args[n]分别代表程序的第一个参数到第n+1个参数,可以使用args.length获取参数的个数。
语法如下:
public static void main(String[]args){
//方法体
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)