java中构造方法和普通方法的区别
1.普通方法:
定义:简单的说方法就是完成特定功能的代码块。
普通方法定义格式:
修饰符 返回值类型 方法名 (参数类型 参数名1,参数类型 参数名2,.........)
{
函数体;
return 返回值;
}
返回值类型用于限定返回值的数据类型。
普通方法分为:有明确返回值的方法和没有明确返回值的方法。
A.有明确返回值的方法的调用
可以单独调用(无意义)、输出调用、赋值调用(推荐)。
public static int sum (int a , int b)
{
int c =a+b;
return c ;
}
public static void main(String[] args)
{
//sum(10,20); //单独调用
//System.out.println(sum(10,20)); //输出调用
int sum01 =sum(10,20); //赋值调用
}
B.没有明确返回值的方法调用(void类型方法的调用)
只能单独使用。
(如果一个方法没有明确的返回值类型,方法定义中的“返回值类型”就用void代替,表示该方法无返回值类型。)
2.构造方法
定义:简单的来说是给对象的数据进行初始化的。
构造方法是类的一个特殊的成员,在类实例化时会自动调用。
构造方法定义格式:
修饰符 方法名()
{
}
注意:1.方法名与类名相同。
2.没有返回值类型。
3.没有具体的返回值。
构造方法分为:无参构造方法和有参构造方法。
A.无参构造方法
public class Student{
public Student(){ //无参构造方法
System.out.println("无参方法被调用");
}
}
public class Test {
public static void main (String[] args){
Student stu = new Student(); //实例化Student对象
}
}//该方法是无参的构造方法,即构造方法不接收参数,执行后输出即可,无参的构造方法被调用。
B.无参构造方法
为一个属性赋值有两种方法:①、直接访问对象属性 ②、通过setXxx()方法
如果想在实例化对象的同时就为这个对象的属性进行赋值,可以通过带参数的构造方法来实现
public class Student{
private String name;
private int age;
public Student(String name,int age){ //有参构造方法
this name = name;
this age = age ;
}
public void show (){
System.out.println("姓名:"+name+"年龄:"+age);
}
}
public class Test02(){
public static void main (String[] args)
{
Student stu = new Student("王小五",25); //实例化对象的同时赋值
stu.show();
}
}
构造方法注意事项:
1.java中的每一个类都至少有一个构造方法,如果我们没有创建,系统会为我们创建一个默认的无参构造方法。(不显示代码)
2.但是如果我们定义了构造方法,系统就不会再为我们提供默认的无参构造方法了。这个时候想使用无参构造方法必须自己定义。因为实例化对象时,不一定会输入参数,那么没有无参的构造方法,又不输入参数,就会出错。
3.构造方法需要用public来修饰,若使用private,在其他类中无法将其实例化。
4.构造方法是可以重载的。
java中构造方法和普通方法的区别的更多相关文章
- Java中构造方法跟普通方法的区别?
构造方法与普通方法的调用时机不同. 首先在一个类中可以定义构造方法与普通方法两种类型的方法,但是这两种方法在调用时有明显的区别. 1.构造方法是在实例化新对象(new)的时候只调用一次 2.普通方法是 ...
- Java中wait和sleep方法的区别
1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...
- 转 Java中wait和sleep方法的区别
1.两者的区别 这两个方法来自不同的类分别是Thread和Object 最主要是sleep方法没有释放锁,而wait方法释放了锁,使得其他线程可以使用同步控制块或者方法(锁代码块和方法锁). wait ...
- Java中start和run方法的区别
一.问题引入 说到这两个方法就不得不说多线程,说到多线程就不得不提实现多线程的两种方式继承Thread类和实现Runable接口,下面先看这两种方式的区别. 二. Java中实现多线程 ...
- Java中构造方法与setter方法
今天在重温Java的同时,一个不是问题的问题,突然地冒出来,不知道大家是不是和我一样,也有过这个比较尴尬的问题 不啰嗦了,那咱就直接说问题吧~~~ 那么首先我们在Java中都会写构造函数,目的是在 ...
- java 中sendredirect()和forward()方法的区别
一.文章1 HttpServletResponse.sendRedirect与RequestDispatcher.forward方法都可以实现获取相应URL资源. sendRedirect实现请求重 ...
- java中getAttribute与getParameter方法的区别
知识点1:getAttribute表示从request范围取得设置的属性,必须要先setAttribute设置属性,才能通过getAttribute来取得,设置与取得的为object对象类型 例: r ...
- Java中==号与equals()方法的区别
String str1 = new String("abc"); String str2 = new String("abc"); System.out.pri ...
- 面试常见问题:java中wait()和sleep()方法的区别
wait()和sleep()方法都是用来控制多线程的有力工具,那么它们之间有什么巨大的区别呢? 1.wait()方法是属于Object类的,而sleep()方法是属于Thread类的. 2.最重要的一 ...
随机推荐
- DQN-深度Q网络
深度Q网络是用深度学习来解决强化中Q学习的问题,可以先了解一下Q学习的过程是一个怎样的过程,实际上就是不断的试错,从试错的经验之中寻找最优解 关于Q学习,我看到一个非常好的例子,另外知乎上面也有相关的 ...
- tarfile — Read and write tar archive files
参考: https://docs.python.org/2/library/tarfile.html http://www.jianshu.com/p/bbad16822eab #解压文件tarfil ...
- TJU Problem 2101 Bullseye
注意代码中: result1 << " to " << result2 << ", PLAYER 1 WINS."<& ...
- Templates中的标签if
1.什么是标签 每个标签标示的是不同的服务器端的功能 2.常用标签 1. if 标签 1.基本if结构 {% if 条件 %} % endif %} 2.if ... else ... 结构 {% i ...
- Unity 3D-Navigation网格导航系统使用教程
Unity自带导航系统 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享.心创 ...
- K - FatMouse and Cheese
最近一直在写dp,然后别的就啥也不管了(wtcl),很明显的最简单的搜索题竟然卡了,一开始的思路是每一个格子都只能是从四周的格子转化过来的,只要找到四周最大的那个那么dp[i][j]=max+a[i] ...
- try catch之ajax调错
- C语言--第七周作业评分(5班)
作业链接:https://edu.cnblogs.com/campus/hljkj/CS2017-5/homework/1304 一.评分要求 要求1 完成PTA第七周所有题,总共两次题,每次12.5 ...
- linux报错jar包时出现“Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes”
linux安装zip命令: yum install zip zip -d demo.jar META-INF/*.RSA META-INF/*.DSA META-INF/*.SF
- Js 字符串拼接的两种方法
字符串拼接的两种方法 用数组的方法的好处是:避免变量重新定义.赋值 <!DOCTYPE html> <html lang="en"> <head> ...