zoukankan      html  css  js  c++  java
  • 静态方法与非静态方法的区别

    静态方法:

    外部调用静态方法时,可以直接通过【类名.静态方法名】的方式调用,也可以通过创建类的对象来调用。

    非静态方法:

    非静态方法的调用只能通过【对象.非静态方法名】的方式调用。

    例:

    现分别有一个静态方法method1、非静态方法method2

        public static void method1(){

          System.out.println("这是静态滴...");

        }

        public void method2(){

          System.out.println("这是非静态滴...");

        }

    在调用时:

    method2---------【step1: ClassName class1 = new ClassName();

            step2:  class1.method2;        】

    method1 --------ClassName.method1(或者同上方法)

    **

    静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。

    同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。

    基于同样的道理,静态方法中也不能使用关键字this。

    main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

  • 相关阅读:
    angular 中如何使用自定义组件
    angular组件数据和事件
    angular组件数据
    angular绑定数据
    angular自定义组件
    angular项目目录结构分析
    Angular 开发工具介绍
    从Microsoft.AspNet.Identity看微软推荐的一种MVC的分层架构
    EF How to use context.Set and context.Entry, which ships with EF4.1 ?
    C# 向IQueryable添加一个Include扩展方法
  • 原文地址:https://www.cnblogs.com/zhou-x/p/11697677.html
Copyright © 2011-2022 走看看