java new类名后接方法名声明

public class TestBase {
  int x = 3;
  public void ppp() {
    System.out.println(x + 4);
  }}

public class TestMain {
  public static void main(String[] args) {
  TestBase t = new TestBase() {
    public void ppp(){
      System.out.println(x + 5);
    }
  };
  t.ppp();
  }
}

相当于新建一个继承自TestBase的匿名类(如果没理解错的话) 输出的是8

时间: 2024-10-21 06:28:56

java new类名后接方法名声明的相关文章

Java运行时获取当前运行代码类名、方法名

/*    * 1.获取当前运行代码的类名,方法名,行号,主要是通过java.lang.StackTraceElement类 *  * 2. 获取调用者.当前方法名 *   [1]获得调用者的方法名, 同new Throwable *         String _methodName = new Exception().getStackTrace()[1].getMethodName(); *   [0]获得当前的方法名, 同new Throwable *         String _t

《Effective Java》------读后总结

<Effective Java>--读后总结 这本书在Java开发的行业里,颇有名气.今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细.这个月还剩下一周,慢慢总结消化. 1.静态工厂方法代替构造器 静态工厂方法有名称,能确切地描述正被返回的对象. 不必每次调用都创建一个新的对象. 可以返回原返回类型的任何子类对象. 创建参数化类型实例时更加简洁,比如调用构造 HashMap 时,使用 Map < String,List < String > m =

java基本语法day01_09变量的声明与使用

概念: 内存中的一个存储区域. 该区域拥有自己的名称(变量名)和类型(数据类型). java是强类型语言,java中每个变量必须先声明后使用. 该区域的数据可以在同一类型范围内不断变化. 注意: 变量的作用域:在一对{}之间有效. 初始化值 定义变量的格式:数据类型 变量名 = 初始化值 变量是通过变量名来访问这块区域的. 变量按作用域(被声明的位置)进行分类: 1.成员变量:在方法的外部.类的内部定义的变量(也叫全局变量).在一个类的任意地方都可以被访问. 局部变量:在方法或语句块的内部定义的

关于Java中类名.class的基础介绍

声明:文章的总结,来自许多网友的优秀博客 关于通过类名访问class属性,我朋友过好几次了,一直没明白这个东西到底是什么?对此,我参照网友们的博客,总结了一些小知识,如发现错误,希望纠正,谢谢 其实任何一个类,都会有一个Class对象于这个类对应,在这个Class对象中,保存着实例化该类时所需要的基本信息,A.class  其实返回的是一个类A的Class对象,贴一个小代码演示一下: public class Test { /** * @param args */ public static v

CI框架中 类名不能以方法名相同

昨天晚上一个坑爹的问题折腾了我一晚上,首先我来说下我的代码,我建立了一个index的控制器然后呢  在控制器里有一个index的方法.页面模板都有. if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Index extends CI_Controller{ public function index(){ $this->load->view('index.html'); } } 然后你在浏览器中

根据类名,方法名,反射调用类的方法

/** * 根据类名,方法名,反射调用类的方法 * @方法名称: getResult * @描述: TODO * @param className * @param methodName * @param params * @return */ public static String getResult(String className,String methodName,Map<String,Object> params){ String result = null; try{ Objec

java保留小数后两位的四种写法

java保留小数后两位的四种写法 package com.btzh.mis.house.utils; import java.math.BigDecimal;import java.math.RoundingMode;import java.text.DecimalFormat; /** * Double类型数据处理类 * @author weijixiang * @date 2017/10/17. */public class NumberUtil { public static Double

【Java】+获取当前方法名 or 类名

1.获取当前类名: Thread.currentThread().getStackTrace()[1].getClassName() 2.获取当前方法名: Thread.currentThread().getStackTrace()[1].getMethodName() 原文地址:https://www.cnblogs.com/danhuai/p/11404033.html

Java 获得运行时文件名,类名,方法名,行号

package com.someorg; public class Logger { public static void info(String something) { int lineNo = getCurrentLineNumber(); String methodName = getCurrentMethodName(); String className = getCurrentClassName(); System.out.println(className + "."