静态方法只能通过类名调用吗?

静态方法调用的三种方式:

1、new xx().静态();  //使用对象调用,不推荐
2、xx.静态(); //类名调用,正规调用方法,推荐

3、静态(); //本类的静态方法在本类调用,直接调用

注意事项:

在同包不同类调用的时候,可以直接 类名.方法() 调用,无需创建对象。

在不同包调用的时候,需要引包再调用。

---------------------

本文来自 Thinkd00r 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/weixin_42247720/article/details/81051276?utm_source=copy (感谢作者)

原文地址:https://www.cnblogs.com/zzw3014/p/9747375.html

时间: 2024-10-12 10:18:10

静态方法只能通过类名调用吗?的相关文章

静态方法不需要有对象,可以使用类名调用

Public static void printData(){} 表明此类方法为类方法(静态方法) 静态方法不需要有对象,可以使用类名调用. 静态方法中不允许访问类的非静态成员,包括成员的变量和方法,因为此时是通过类调用的,没有对象的概念.This.data是不可用的. 一般情况下,主方法是静态方法,所以可调用静态方法,主方法为静态方法是因为它是整个软件系统的入口,而进入入口时系统中没有任何对象,只能使用类调用. 1 package TomText; 2 //使用do-while语句,完成简单的

PHP可以通过类名调用非静态方法

今日有兄弟遇上一个问题,就是可以通过class名称直接调用该类中的函数,我测试了一下,确实可以,概念中是只有静态方法才可以这样调用的,现在 被刷新了,于是我在方法中加入一行$this相关的操作,再运行,立马报错了,也就是PHP在调用方法时,没有严格限制,但是在方法内部执行时,遇 上$this这个变量时抛出: Using $this when not in object context 也就是如果你的方法内没有涉及到实例化的本类引用,就可以直接调用了 以下是测试代码: t::t1(); class

static静态属性和静态方法的原理与调用技巧

这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态方法的调用.分享给大家供大家参考.具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用.关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了.静态属性.方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就

JavaSE7基础 类中 静态方法只能访问静态变量

版本参数:jdk-7u72-windows-i586注意事项:博文内容仅供参考,不可用于其他用途. 代码 class Test{ public static int num1 = 1; private static int num2 = 2; //静态方法只能访问静态变量 public static void sayHello(){ System.out.println(num1); System.out.println(num2); } } class Demo{ public static

思绪凌乱了,原来非静态方法也可以静态调用(转)

1.PHP中可以静态调用非静态方法么? 今天我被问到PHP中可不可以使用 className::methodName() 的方法来调用一个没有声明Static的方法.在我的印象中,我好像是见过这种用法,但又有些不确定.大家都知道,在手册或者教程里,方法被分为静态方法和非静态方法,通常我们静态调用的方法,肯定是静态方法. 那如果我们调用了非静态方法会怎么样呢?首先做测试.<?php class test{ function test(){ echo 'it works'; } } test::te

php7静态方法的链式调用

2018-1-11 20:25:48 星期四 情景: 以前想要链式调用必须先 new 一个对象, 然后 $obj->aa()->bb()... 现在PHP7 (php7.0.13  php7.2测试通过) 的静态方法也可以链式调用了 写法: A::aa()::bb()::cc(); 实现: 1 class A 2 { 3 public static $a = 0; 4 5 public static function aa() 6 { 7 self::$a++; 8 return self::

静态类、静态方法的使用

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _Test { class Program { static void Main(string[] args) { //调用实例成员 Person p = new Person(); p.M1();//实例方法,调用的时候必须创建实例对象. Per

PA教材提纲 TAW12-1

Unit1 Introduction to Object-Oriented Programming(面向对象编程介绍) 1.1 Explaining the Object-Oriented Programming Model(解释面向对象编程) 编程语言发展史: 最早的语言是面向过程语言( procedural programming ): COBOL 差不多同时出现了面向对象( object-oriented programming )和面向逻辑与过程( logical and procedu

python类:类方法和静态方法

http://blog.csdn.net/pipisorry/article/details/49516185 面相对象程序设计中,类方法和静态方法是经常用到的两个术语.逻辑上讲:类方法是只能由类名调用:静态方法可以由类名或对象名进行调用.在C++中,静态方法与类方法逻辑上是等价的,只有一个概念,不会混淆.在python中,方法分为三类实例方法.类方法.静态方法. @classmethod和@staticmethod 他们的使用场景并不一样.在python中,两种方法的主要区别在于参数 类内部普