黑马程序员——方法.构造方法,抽象方法
来源:互联网 发布:男生发型软件 编辑:程序博客网 时间:2024/06/16 01:40
方法.构造方法,抽象方法
方法:
1) 重要性之方法的特点和分类:
方法是java语言中一个很重要的实现功能的代码块,它是java语言中类,接口,变量等其他代码块之间沟通的连接和实现的一个重要角色。
格式:
修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
方法体语句;
return返回值;
}
修饰符:public,static,abstract,protected,默认修饰符,private,final等都可以修饰,根据使用情况而定。
返回值类型:就是方法返回的的数据类型
方法名:就是起了一个名字,方便我们调用该方法,起名字注意见名知意。
参数类型:就是参数的数据类型
参数名:就是变量
参数分类:
实参:实际参与运算的数据
形参:方法上定义的,用于接收实际参数的值,可以是引用数据类
型和对象
方法体语句:就是完成功能的代码块
return:结束方法
返回值:就是功能的结果,由return带给调用者。有明确返回值必须有return
特点:
A、 不调用不执行;
B、 方法和方法间是平级关系,不能嵌套;
C、 方法定义的时候,参数是用,隔开的,也可以没有参数,可以有修饰词也可以没有
D、如果方法没有明确的返回值类型,就必须有return语句返回;
E、 方法可以重载和重写。
方法分类:(这是根据学习的知识自己总结的,不是官方分类)
A、 普通方法:有参数有方法体
B、 构造方法:
格式:
1. 方法名和类名一样,
2. 没有返回值,
3. 也没有返回值类型
特点:
1、 有参数的叫有参构造,没参数的叫无参构造
2、 系统一般会给出无参构造,如果我们给出了构造方法,系统就不在给出
3、 构造方法在new的时候运行一次,之后就不再运行,除非又new一次,构造方法不能直接调用,不能用
Static,final修饰,一般用public或默认修饰
C、抽象方法:
抽象方法:用abstract修饰,没有语句体,一般存在于抽象类或者接口中。
2) 方法的调用,重载,重写:
认识了方法的特点和分类,那么我们该怎么使用呢?
方法的调用:
A、有明确返回值的方法的调用
赋值调用,推荐用赋值调用;
输出调用;
B、void类型修饰的方法
只能用单独调用
C、构造方法调用
一般只能子类调用父类的构造方法系统默认
super();一般可以不写
D、 抽象方法的调用
抽象方法没有语句体,不能直接调用,需要子类继承或者实现类重写方法,然后才能被调用,而且调用的是重写后的方法
容易出现误区的是方法的重载和重写,这里做一个案例帮助理解
构造方法:(是一个特殊的方法)
作用:给对象数据进行初始化
/*
* 方法的重载和重写
*/
//定义一个接口,在里面写一个Speak的抽象方法
interface SpeakE {
publicabstract void speake();
}
//定义一个抽象类,在里面写一个抽象方法show
abstract class Student{
abstractvoid show();
}
//类Jack继承抽象学生类并实现了SpeakE接口
class BanZhang extends Student implementsSpeakE{
//定义三个变量,重载sum方法
inta,b,c;
publicint sum(int a,int b){
returna+b;
}
publicint sum(int a,int b,int c){
returna+b+c;
}
//重写speake和show方法
publicvoid speake(){
System.out.println("说英语");
}
publicvoid show(){
System.out.println("jack是个好学生");
}
}
//定义main方法
class ChongXChongZ{
publicstatic void main(String[] args) {
//new一个班长对象,继承了父类Student,并实现了接口
BanZhangbz=new BanZhang();
//这是两个方法重写,重写了父类的方法show()
bz.speake()
bz.show();
bz.speake();
//这是两个方法重载
System.out.println(bz.sum(1,2));
System.out.println(bz.sum(1,2,3));
}
}
从案例中我们可以看出以下几点:
方法重写: 子类中出现了和父类中一模一样的方法(方法名, 返回
值类型 , 参数列表)
方法重载: 在同一个类中,允许同时存在一个以上的同名方法只要
它们的参数列表不同, 实际上和返回值类型也没有关系
这就是方法的重写和重载。对方法还陌生的小伙伴们可以看下,相信会有帮助的,
有不同的见解和补充的内容也欢迎小伙伴们一起来更正和补充。
- 黑马程序员——方法.构造方法,抽象方法
- 黑马程序员——构造方法
- 黑马程序员 构造方法
- 黑马程序员---构造方法
- 黑马程序员-构造方法
- 黑马程序员-构造方法
- 黑马程序员----构造方法
- 黑马程序员--------构造方法
- 黑马程序员——枚举的原理及枚举构造方法调用,抽象方法实现等等介绍
- 黑马程序员_OC构造方法
- 黑马程序员-OC-构造方法
- 黑马程序员----Java 构造方法
- 黑马程序员-----构造方法-String
- 黑马程序员_构造方法
- 黑马程序员---OC构造方法
- [黑马程序员][OC]构造方法
- 黑马程序员---抽象类与抽象方法
- 黑马程序员——Java---抽象,模板方法
- 【黑马程序员】第五章:多线程
- Spring、Spring MVC、Struts2、优缺点整理
- HP ProLiant BL460c Gen8 服务器部署手记
- 看图学网络 三 网络核心部分的数据交换(电路 报文 分组 交换)
- Bootstrap3 - Using glyphicon as background image in CSS
- 黑马程序员——方法.构造方法,抽象方法
- 1030. Travel Plan (30)【最短路+路径记忆】——PAT (Advanced Level) Practise
- 【Codeforces Round 334 (Div 2)D】【数论 置换群 典型数据特判 附带打表代码】Moodular Arithmetic 满足f(k x)=k f(x)的映射个数
- 【IOS网络】ATS的小总结
- zookeeper服务优化
- java 正则表达式浅析
- 学习笔记之正则表达式
- js定时器
- runtime是什么以及怎么用