0
点赞
收藏
分享

微信扫一扫

JAVASE:方法、对象

雨鸣静声 2022-04-26 阅读 67
java

目录

一、方法

1、定义方法

2、方法重载

二、对象

1、设计类

2、创建对象

3、构造器

4、调用构造器

5、this


一、方法

1、定义方法

public static 返回值类型 方法名(形参列表){ 执行语句 return语句 }

(1)编写顺序无所谓,方法与方法之间是平级关系,不能嵌套定义

(2)值传递:传递的是数据值,不是变量本身(数组传的是地址值)

public class Method {
    public static void main(String[] args) {
        System.out.println(add(1,2));
    }

    public static int add(int a,int b){
        return a + b;
    }
}

2、方法重载

同一个类中,多个方法名相同,但是形参列表不同,称为重载方法

public class Method {
    public static void main(String[] args) {
        System.out.println(add(1,2));
        System.out.println(add(1,2,3));
    }

    public static int add(int a,int b){
        return a + b;
    }

    public static int add(int a,int b,int c){
        return a + b + c;
    }
}

二、对象

1、设计类

public修饰的的类名必须为代码文件名

成员变量可以初始化,不初始化一般为默认值

class 类名{
    1,成员变量(代表属性,一般是名词)
    2,成员方法(代表行为,一般是动词)
    3,构造器
    4,代码块
    5,内部类
}

(1)同一个java文件定义多个class类(只能有一个public修饰)

public class ObjectOriented {        
           
}

class Class {
    int n;                                      
    public void abc(){
        System.out.println(n);
    }
}

(2)每一个java文件定义一个class类

public class ObjectOriented {      
            
}
public class Class {
    int n;                                      
    public void abc(){
        System.out.println(n);
    }
}

2、创建对象

类名 对象名 = new 类名();

变量c中存储的是对象在堆内存中的地址

public class ObjectOriented {                   
    public static void main(String[] args) {
        Class c = new Class();                 
    }
}
class Class {
    int n;                                   
    public void abc(){                        //此方法不写static
        System.out.println(n);
    }
}

3、构造器

修饰符 类名(形参列表){    }

定义在类中,可以用于初始化一个类的对象,并返回对象的地址

(1)无参数构造器:默认存在,初始化对象时,成员变量的数据均采用默认值

class Class {
    int n;
    public Class(){
    }
}

(2)有参数构造器:在初始化对象的时候,同时可以接受参数为对象进行赋值

class Class {
    int n;
    public Class(int m){
        n=m;
    }
}

4、调用构造器

类名 变量名称 = new 构造器;

public class ObjectOriented {
    public static void main(String[] args) {
        Class c1 = new Class();
        Class c2 = new Class(1);
        System.out.println(c1.n);
        System.out.println(c2.n);
    }
}
class Class {
    int n;
    public Class(){
    }
    public Class(int m){
        n=m;
    }
}

5、this

(1)出现在构造器,方法中,代表当前对象的地址

public class ObjectOriented {
    public static void main(String[] args) {
        This t = new This();
    }
}
class This {
    int n;
    public This(){
        System.out.println("无参构造器中的:"+this);
    }
}
public class ObjectOriented {
    public static void main(String[] args) {
        This t = new This(4);                
    }
}
class This {
    int n;
    public This(){
        System.out.println("无参构造器中的:"+this);
    }
    public This(int n){
        System.out.println("有参构造器中的:"+this);
        this.n=n;
    }
}
public class ObjectOriented {
    public static void main(String[] args) {
        This t = new This();                
        t.run(8);
    }
}
class This {
    int n;
    public void run(int n){
        System.out.println("方法中的:"+this);
    }
}

(2)可以用于指定访问当前对象的成员变量

public class ObjectOriented {
    public static void main(String[] args) {
        This t = new This(1);
        System.out.println(t.n);
    }
}
class This {
    int n;
    public This(){
    }
    public This(int n){
        this.n=n;
    }
}

(3)可以用于指定访问当前对象的成员方法

public class ObjectOriented {
    public static void main(String[] args) {
        This t = new This();
        t.run(1);
    }
}
class This {
    int n;
    public void run(int n){
        System.out.println(n+" "+this.n);
    }
}
举报

相关推荐

0 条评论