ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

7.this,重写与重载方法,构造方法(构造器)---只有重载没有重写

2022-01-22 10:04:49  阅读:90  来源: 互联网

标签:name 构造方法 方法 System println 重载 重写 out


  • 带参/有参方法

  • 定义方法的语法格式:

  • 访问权限修饰符 返回值类型 方法名称(形式参数列表){

  • 方法体

  • }

  • public void/其他任意类型 fun(int num,double num2,String str){

  • 方法体

  • }

  • 调用带参方法步骤:

  • 1.创建对象Student student = new Student();

  • 2.通过对象名.调用方法名 student.fun();*

  • 带参方法的特点:

  • 1.定义在方法的声明上叫形式参数,简称形参

  • 2.调用方法的时候,传入的参数,叫实际参数,简称实参

  • 3.在定义方法的参数的个数以及类型,和调用方法的时候,参数的个数和类型

  • 一定要一致,例如void fun(int num,double num2,String str)

  • 调用的时候,例如student.fun(10,20.2,"你好");****/

  • 基本数据类型:传递的是值本身,对值做修改,不会影响到其值的改变。

  • 引用数据类型:传递的地址值,对值做修改,最终会

  • 修改到其值的改变。*/

  • 构造方法

  • 构造本质就是一个方法来的,只不过没有返回值,构造方法重载

  • 就是用来快速初始化

  • 语法格式:

  • 访问权限修饰符 类名(){

  • 方法体

  • }

  • 构造方法的特点:

  • 0.构造方法没有返回值类型,连void都没有

  • 1.系统会自动帮我们写一个无参构造方法

  • 2.构造方法名称相同,不同的是参数个数,类型这些,就是构造方法重载

  • 3.构造方法中可以嵌套调用,但是不能自己调用自己

  • 4.构造方法名称和类名一致

  • 5.当我们写一个有参构造方法的时候,会发生覆盖,这个时候系统就不会帮我们写无参构造方法了

  • 需要自己写无参构造方法,所以我们需要养成一个好习惯,就是当写上有参构造方法的和无参构造方法都

  • 自己来写上。**

  • 调用无参构造方法:

  • 创建一个对象Person person = new Person();

  • 调用有参构造方法:

  • 创建一个对象Person person = new Person(值1,值2);*

  • this关键字的特点:

  • 1.this就是为了解决同名的情况下,代表我的

  • 2.只在本类中使用

  • 3.this可以省略

  • 4.this只能够必须放在构造器的第一行*

  • this的三种使用:

    • 访问本类的属性:this.属性名;

    • 访问本类的方法:this.方法名();

    • 访问无参构造方法:this();

  • 访问有参构造方法:this(值1,值2,值....);**

  • 构造重载

  • 方法重载

  • 成员变量和局部的区别* */

public class Person { //属性-成员属性-成员变量 String name;//姓名 int age;//年龄 String hobby;//爱好 double weight;//体重

// Alt + Insert 快速生成无参/有参构造方法 //无参构造方法/构造器 public Person(){ //这里调用了下面的带一个参数的构造方法 this("李四"); System.out.println("我是Person的无参构造方法。。。"); }

//带参/有参构造方法,带一个参数的构造方法
public Person(String name){//张三

// this(); //调用了上面的那个无参构造方法// name = name;// System.out.println(name);//张三// System.out.println(name);//null this.name = name; //把张三赋值给到本类的name System.out.println(name); System.out.println("我是带一个参数的构造方法。。。"); }

//带三个参数的构造方法,跟上面的两个构造方法构成构造方法的重载
public Person(String name,int age,String hobby){
    //调用了上面的带一个参数的构造方法
    this(name);
    //建议最好给到this,这样可以更好的区别
    this.name = name;
    this.age = age;
    this.hobby = hobby;
    //这里也可以省略this
    System.out.println(this.name + "|" + this.age + "|" + this.hobby);
    System.out.println("我是带三个参数的构造方法。。。。");
}
​
//方法-成员方法
public void method(){
    System.out.println(name);
    System.out.println(age);
    System.out.println(hobby);
    System.out.println(weight);
    System.out.println("method方法........");
}
​
public void test(){
    method(); //这里也可以省略this
    this.method();
    System.out.println("test方法...........");
}

}

  • 方法重载的特点:

  • 1.方法名称相同

  • 2.方法的参数列表不同(参数的个数、参数的类型、参数的顺序)

  • 3.与修饰符和返回值无关

  • 4.发生在一个类中*

  • 方法重写的区别?* */

*

  • 成员变量和局部变量的区别:

  • 定义的位置不同:

  • 成员变量:定义在类体以内,方法体以外

  • 局部变量:定义在方法体内,以及方法的声明上

  • 作用域不同:

  • 成员变量:整个类中

  • 局部变量:只在方法体中

  • 初始化不同:

  • 成员变量:系统会分配默认值,因为分配在堆区中

  • byte short int long 0

  • float double 0.0

  • char \u0000

  • boolean false

  • 引用类型 null

  • 局部变量:系统不会分配默认值,需要自己先赋值才能够使用

  • 生命周期不同:

  • 生命周期:从创建到销毁,从出生到结束的过程。

  • 成员变量:随着对象的创建而创建,随着对象的销毁而销毁

  • 局部变量:使用完立马释放

  • 分配的内存不同:

  • 成员变量:分配在堆区中

  • 局部变量:分配在栈区中*当成员变量和局部变量同名的时候,采用就近原则,访问局部变量,

  • 如果想要访问成员变量,就需要使用this解决同名的使用,用this来访问成员变量。* */

标签:name,构造方法,方法,System,println,重载,重写,out
来源: https://blog.csdn.net/weilaidedakejilu/article/details/122611194

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有