java_基础_类详解
来源:互联网 发布:java 获取键盘输入 编辑:程序博客网 时间:2024/05/16 10:22
一、一个全面的类的定义
package 包名;[类修饰词列表]class 类名 [extends 父类] [implements 接口]名{成员变量;构造方法;成员方法;}//[]内的内容可以不加
二、类的成员方法
1、作用
用于实现类的各种功能。
2、定义
public 返回数据类型 方法名 (参数列表){ 语句;//方法主题}//返回的数据类型若为空则为void
3、调用类的成员方法(不被private修饰)
在main函数中输入
类名.方法名(参数列表)
三、类的构造方法
1、作用
构造方法是一种特殊的方法,完成对类成员的初始化。
2、定义
public Person(参数列表){ 语句;}
3、类的构造方法的特点
①方法名与类名必须相同
②没有返回值
③创建一个类的新对象时,若没有该类的调用方法,会自动调用一个默认的构造方法完成对其的初始化
//默认的构造方法public 方法名 (){}
4、构造方法可以有多个,即只初始化其中某几个成员,区别的方法就是看调用的时候传递参数时的个数。
5、若没有定义构造方法,在创建对象的时候会自动调用一个默认的构造方法:
public 类名 (){}
四、类变量
1、语法:
static 数据类型 变量名;
2、在一个变量定义的前面加static,此时该变量称为静态变量,属于所有的实例对象,可以被任何一个实例对象访问,且值都相同,是所有变量的公共属性。
3、引用该变量时可以用类名来访问。
五、类方法
1、类方法是属于所有实例对象的方法,在内存中只占用一块空间。
2、语法:
访问修饰符 static 数据返回类型 方法名(){}
3、类变量通常使用类方法来访问修改。
4、类方法可以通过类名,类方法名直接访问。
六、类修饰词列表
1、抽象类
1)定义:当父类的一些方法不能确定时,可以用abstract关键词来修饰该方法,并用abstract来修饰该方法。
2)抽象类不能实例化
3)一个用abstract来修饰的类就是抽象类,修饰的方法就是抽象方法 4)抽象类可以没有抽象方法,但一个抽象方法必须在一个抽象类中
5)抽象方法不能有主体,但要在子类中有实现方法
在父类中只能是:
abstract 方法名();
2、final修饰词
1)final可以用来修饰变量或方法
2)作用:
a.父类中不希望被子类覆盖的方法可用final修饰
b.类中某个变量不能被修改可用final修饰,但在定义时必须赋值并且以后不能再改变
c.某个类不允许被继承,可用final修饰
d.要求某些变量的值固定不变用final修饰
七、接口
1、定义:接口就是给出一些没有内容的方法封装到一起,到某个类要使用的时候再根据具体情况把这些方法写出来。
2、定义一个接口和实现一个接口
//定义一个借口interface 接口名{ 方法; 变量;}//实现一个接口class 类名 implements 接口1,接口2{ 语句;}
3、一个类用implements实现一个接口后要把该接口的所有方法都实现。
4、注:
a.接口中的所有方法不能有主体,都不能被实例化
b.接口中的所有方法不能有主体,都不能被实现(与抽象类的不同)
c.一个类可以实现多个接口,用”,“隔开即可
d.接口中可以有变量,但不能用private,protected修饰
e.接口中的变量都是static并用final修饰的,不管加不加这两个修饰符
f.通常将经常使用的变量定义在接口里,作为全局变量使用访问形式
接口名.变量名
g.借口不能继承其他类,但可以继承别的借口
5、接口是更加抽象的抽象类,抽象类里的方法可以有方法体,借口里的所有方法都没有方法体
八、this与super
1、this是用于访问本类中的成员
2、super用于访问父类中的成员
- java_基础_类详解
- java_基础_类入门
- java_基础_包
- java_基础_杂
- java_基础_集合
- java_基础_泛型
- java_基础_异常
- java_基础_线程
- Java_语法基础_内存空间及String详解
- java_基础_绘图技术
- Java_基础_交换变量
- Java_基础_初始化顺序
- Java_基础_参数传递
- Java_类_多态
- Java_语法基础_包装类的缓存
- Java_基础学习_上海交大课程
- Java_语法基础_移位运算符
- Java_语法基础_标识符定义规则
- Ubuntu14.04下Android Studio字体优化
- 《第一行代码-Android》学习笔记(十一)
- 弹出新页面被拦截处理方法总结
- getParameter与getAttribute系统理解
- 162. Find Peak Value Leetcode Python
- java_基础_类详解
- 《第一行代码-Android》学习笔记(十二)
- 动态规划最长子串问题
- leetcode:Sort Colors 菜鸟解法
- jstl <fmt:formatNumber>标签学习笔记
- git add时create mode 100644到底是什么含义?
- 《第一行代码-Android》学习笔记(十三)
- Java中的两种GC方式
- Git常用命令总结