`

java 初始化与方法

阅读更多

初始化与方法

 

 

·方法(函数),可以称之为是一个类中的最小单位。下面以一个例子说明怎样定义方法:

 

 

下面是一个特殊的函数:构造函数(constructor),构造函数是没有返回类型的。

public class MethodTest {

    int a;

    int b;

    //这是默认的构造函数,如果在一个类中没有写构造函数

    //则系统会自动给其默认一个构造函数

    public MethodTest() {

      

    }

    //带参数的构造函数

    public MethodTest(int a,int b) {

       //this指的就是MethodTest这个类

       //也可以算是一个类的引用

       this.a = a;

       this.b = b;

       System.out.println("赋值完成.a:"+a+",b:"+b);

    }

 

    public static void main(String[] args) {

       MethodTest mt = new MethodTest();

       MethodTest mt1 = new MethodTest(5,6);

    }

}

以上两个MethodTest()构造函数也叫做方法的重载

public void fun() {

      

    }

    public void fun(int a) {

      

    }

    public void fun(String str) {

      

    }

这里这三个方法返回值类型以及方法名都是一样的,只有参数列表不一样,这样的一系列方法就叫做:方法的重载

但下面这两方法就不是方法的重载,而是不允许出现的

public void fun(int a) {

      

    }

    public void fun(int b) {

      

    }

因为这只是参数中的变量名不一样,如果参数的类型不一样就可以了,就像上面例子的后面两方法一样。

 

·this关键字

 

下面再以一个例子来说明一下this关键字:

public class ThisTest {

   

    int num;

   

    /**

     * 带参数的构造函数

     * @param num 在构造的时候要传入的一个int类型的值

     */

    public ThisTest(int num) {

       this.num = num;

    }

   

    /**

     * 自定义的一个函数

     * 调用一次就让该类里的num1

     * @return 返回自己,也就是这个类本身

     */

    public ThisTest getThis() {

       num++;

       return this;

    }

   

    /**

     * 自定义的一个函数

     * 输出num的值

     */

    public void print() {

       System.out.println("num:"+num);

    }

 

    public static void main(String[] args) {

       //构造该类的时候给num赋值为2

        //因为getThis()这个方法的返回值是ThisTest这个类,所以可以多次这样点调用

       //调用三次getThis()之后num的值加到了5

       new ThisTest(2).getThis().getThis().getThis().print();

       //~在这里将会输出num:5

    }

 

}

 

·static关键字

Static(静态)方法内是没有this关键字的。在static方法内不能调用非静态方法,但非静态方法内是可以调用static(静态)方法的。Static(静态)出现的主要目的则是可以通过类名来直接调用static的方法。下面以一个例子来说明一下此关键字

public class StaticTest {

    /**

     * 这是一个static(静态)的方法,可以通过类名直接调用

     * 1target的和

     * @param target 目标数,如果target等于10,那就是求110之间的和

     * @return 返回和

     */

    public static int result(int target) {

       int result = 0;

       for(int i=1;i<=target;i++) {

           result = result+i;

       }

       return result;

    }

    public static void main(String[] args) {

       //这里也可不用类名,写成:System.out.println("结果是:"+result(100));

       System.out.println("结果是:"+StaticTest.result(100));

    }

}

·初始化

 

class Cup {

    Cup(int marker) {

       System.out.println("Cup("+marker+")");

    }

   

    void fun(int marker) {

       System.out.println("fun("+marker+")");

    }

}

 

class Cups {

    Cups() {

       System.out.println("Cups()");

    }

    没显示完,请下载附件查看完事版!

 

 

 

  • second.rar (39.8 KB)
  • 描述: 源代码以及word文件
  • 下载次数: 1
0
0
分享到:
评论

相关推荐

    java数组初始化详解

    Java 数组初始化详解 Java 数组初始化是 Java 编程语言中的一种基本概念,它允许开发者创建和初始化数组,以便于存储和操作数据。在本文中,我们将对 Java 数组初始化进行详细的介绍,包括一维数组和二维数组的声明...

    6种方法初始化JAVA中的list集合

    本文将详细介绍6种初始化Java List集合的方法,并通过代码示例帮助理解每种方法的使用和特点。 1. 常规方式 这是最常见的初始化List的方式,通过创建ArrayList实例并逐个添加元素。自JDK 7以后,可以省略泛型类型的...

    java代码的初始化顺序demo

    `init`文件可能包含了各种构造函数的实现,展示它们如何被调用以及与初始化块交互的方式。 5. **成员变量初始化**: Java允许我们在变量声明时进行初始化。这种初始化发生在构造函数之前,因此在实例初始化块之前...

    Java静态初始化块和对象初始化块

    在Java编程语言中,初始化块是程序执行时用于初始化对象或类的重要机制。这里我们将深入探讨两种类型的初始化块:静态初始化块(Static Initializer Block)和对象初始化块(Instance Initializer Block)。这两种...

    Java初始化块Java初始化块.doc

    总结起来,Java初始化块是Java中用于对象和类初始化的重要工具,它们在不同场景下提供了一种灵活的方式来控制对象和类的状态。理解初始化块的工作原理对于编写高效且无错误的Java代码至关重要。在编写代码时,应谨慎...

    java程序初始化顺序

    6. **类初始化与类加载器**: - 类的初始化是由对应的类加载器触发的,当且仅当以下条件之一满足时: - 遇到new关键字实例化对象; - 遇到静态字段(非final)并对其进行访问; - 遇到静态方法的调用; - 使用...

    java语法\Java数组声明、创建、初始化

    动态初始化是指数组定义与为数组分配空间和赋值的操作分开进行。例如,`int a[]; a = new int[3];`创建了一个名为`a`的整型数组,数组长度为3。然后,可以逐个赋值,例如`a[0] = 0; a[1] = 1; a[2] = 2;`。 静态...

    java编程思想-初始化与清理

    java编程思想-初始化与清理了解this之后,你就能更全面地理解“静态(static)方法”的含义。静态方法就是没有this的方法。在“静态方法”的内部不能调用“非静态方法”,反过来倒是可以的。而且你可以在没有创建...

    Java类继承初始化顺序

    当我们谈论“Java类继承初始化顺序”时,涉及到的关键知识点包括构造器、成员变量的初始化、super关键字以及方法的覆盖。 首先,了解类初始化的顺序至关重要。当创建一个子类实例时,初始化过程遵循以下步骤: 1. ...

    java中类的初始化顺序

    3. **静态成员变量与实例成员变量的初始化顺序** ```java public class TestOrder { // 静态成员变量初始化 public static TestA a = new TestA(); // 静态初始化块 static { System.out.println("静态初始...

    java面试题-类的初始化顺序.doc

    在面试中,面试官可能会通过这种类型的题目来评估应聘者对Java内存模型的理解,以及他们在编写代码时是否能考虑到这些初始化规则,从而避免潜在的陷阱。因此,掌握类的初始化顺序是每个Java开发者必备的知识点。

    java初始化和清理

    Java初始化和清理是Java语言中非常重要的两个过程,它们确保了Java程序的正确运行和资源的有效管理。Java的初始化包括类的加载、连接和初始化三个过程,而清理则主要指垃圾回收机制。 首先,Java初始化的主要特性...

    Java变量初始化

    Java 变量初始化详解 Java 变量初始化是 Java 语言的基础知识点之一,但也往往被学习者所忽略。 Java 变量初始化的时机是指在 Java 语言中变量的初始化过程,包括变量的声明、初始化和赋值的步骤。 Java 变量声明 ...

    详解Java的初始化与清理

    Java的初始化与清理是编程过程中至关重要的环节,它关乎到程序的正确运行和资源的有效管理。本文将深入探讨Java中的初始化过程,包括对象的构造器初始化以及类成员的初始化顺序,同时也会涉及Java的垃圾回收机制,即...

    Java初始化顺序1

    即使变量定义散布于方法定义之间,它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的就是改变后的结果;而...

    45.java数组动态初始化.zip

    45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip45.java数组动态初始化.zip...

    SpringBoot项目启动时实现调用一次初始化方法.docx

    `@PostConstruct`是Java EE规范的一部分,它用于标记一个方法,这个方法将在对象被Spring容器初始化完成后、所有依赖注入完成并且在该对象的`init()`方法之前调用。使用`@PostConstruct`注解的方法只会被调用一次,...

Global site tag (gtag.js) - Google Analytics