
一、类和对象
1.概念
类:是对象的抽象描述,一类具有相同属性(成员变量)和行为(成员方法)的模板
对象:是类的具体体现,类的实例。
类是对象的数据类型。
2.类的创建
(1)类的定义格式:
class 类名{
属性(成员变量);
行为(成员方法); }
注意:① class是关键字,需要小写。
②类名要符合标识符的命名规则和命名约定类名的首字母大写。
③类名用有意义的英文单词,见名知意
eg:class Studente{
//属性(成员变量)
String name ;//姓名
intage; //年龄
//行为(成员方法)
void show( ){
Systom. out.println (Systent .out .println (name+" .. "+age);}
}
3.对象的创建与使用
在Java握序中可以使用new关键字来创建时象。
格式:类名 对象名 =new 类名();
eg:Customer zhangxin =new Customer();
或者 Customer zhangxin; //对象引用
zhangsan = new Customer();
注意:如果不使用关键字new分配内存,该对象为空值,不能使用。
通过对象名使用成员变量的最基本方法:对象名 •成员变量名
"zhangxin•age"访问对象zhangxin的成员变量age.
调用的方法:对象加点进行调用
eg: zhangxin•age=20;
定义方法时所写的参数为形参;
调用方法时所写的参数为实参;
注意:参数的类型需相同。
访问对象的成员变量和成员方法:
访问成员变量 ①获取属性值:对象•属性名
②为属性设置值:对象•属性名=值
访问成员方法
①无返回值:直接调用:对象•方法名称([实参])
②有返回值:直接调用:对象•方法名称([实参]);
赋值调用:数据类型 变量名称=对象•方法名称([实参]);
打印调用:System.out.println(对象•方法名称([实参]);
4.定义和使用成员函数
①最简单的成员函数
格式:void 函数名称(){
函数内容;}
调用方法:对象名•函数名();
eg:zhangxin•display();
②加入参数的成员函数
格式:void 函数名称(类型)参数名1,参数名2,参数名3,……,类型名n 参数名n;{
函数内容;}
eg:void int (String n,String s,int a){
name=n;sex=s;age=a;}
调用方法:对象名•函数名(参数值列表);
eg:zhangsan•int(“张三”,"男",20);
this•用来区分局部变量还是全局变量
③带返回类型的成员函数
格式:返回类型 函数名称(类型1 参数名1,类型2 参数名2类型3 参数名3,……,类型名n 参数名n;{
函数内容;
return和函数返回类型一致的某个变量或对象;}
二、重载
1.函数重载:在定义函数名时,必须满足以下条件之一:①函数参数的个数相同
②函数参数的个数相同,类型不同
③函数参数的个数相同,类型相同,但是在参数列表中出现的顺序不同
2.重载的规则
(1)重载的方法必须改变参数列表(参数个数或类型不一样);
(2)被重载的方法可以改变返回类型;
(3)被重载的方法可以改变访问修饰符;
(4)被重载的方法可以声明新的或更广的检查异常;
(5)方法能够在同一个类中或者在一个子类中被重载。
(6)无法以返回值类型作为重载函数的区分标准。
3.定义和使用构造函数
构造函数也是一种函数,须遵循以下原则:
①函数名称与类的名称相同
②不含返回类型
格式:类名 对象名=new 类名(传给构造函数的参数列表)
eg:Customer zhangsan= new Customer(“张三”,“男”,20);
注意:只有在没有定义构造函数时才可以通过“类名 对象名=new 类名();”
4.静态变量
静态变量访问方法:对象名•变量名
类名•变量名 //常用
静态变量和静态函数统称为静态成员
静态函数就是在普通函数的定义前加上关键字static
5.静态代码块
static{
bank name ="香港银行";
System.out.println(“静态代码块执行”);}
静态代码块常用来进行类属性的初始化;
三、封装
1.封装是面向对象的基本特征之一
2.实现封装
(1)实现封装有以下两个步骤
①将不能暴露的成员隐藏起来,实现方法是将该成员定义为私有的,在成员定义前加上修饰符private.
②用公共方法来暴露对该隐藏方法的访问,可以在函数加上修饰符public,将该方法定义为公共的.
通过get方法去获取的属性,只有get没有set叫做只读属性.
通过set方法去设置的属性,只有set没有get叫做只写属性.
(2)修饰符
①private类型的成员只能在定义它的类的内部被访问;
②default类型的成员可以在定义它的类的内部被访问,也可以被这个包中的其他类访问
③protected类型的成员可以在定义它的类的内部被访问,也可以被这个包中的其他类型访问,还可以被包外的子类访问
④public类型的成员可以在定义它的类的内部被访问,也可以被包内,包外的所有其他类访问
实现封装:
①修改属性可见性
②创建getter/setter方法
③在getter/setter方法值班费加入属性控制语句
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)