/* 匿名内部类:就是内部类的简写格式. 必须前提:内部类必须继承或者实现一个类或者接口. 匿名内部类其实就是一个匿名 子类对象. 格式:new 父类对象 or 接口(){ 子类内容:(覆盖父类的, 而且可以增加自己的方法) }//相当于将 继承父类 和 new 的过程 写到了一起有某有!很方便有某有! */ class Outer{ int num; public Outer(){ num = 5; } class Inner{ int num; public Inner(){ num = 1…
开篇:在上一篇中,我们了解了自动属性.隐式类型.自动初始化器等所谓的新语法,这一篇我们继续征程,看看匿名类.匿名方法以及常用的扩展方法.虽然,都是很常见的东西,但是未必我们都明白其中蕴含的奥妙.所以,跟着本篇的步伐,继续来围观. /* 新语法索引 */ 1.自动属性 Auto-Implemented Properties 2.隐式类型 var 3.参数默认值 和 命名参数 4.对象初始化器 与 集合初始化器 { } 5.匿名类 & 匿名方法 6.扩展方法 7.系统内置委托 Func / Acti…
import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.Date; import java.util.List;…
package com.bawei.multithread; //注意:模板方法我们通常使用抽象类或者抽象方法!这里我们为了方便在本类中使用就没有使用抽象类/抽象方法 public class TemplateThread { //如果这个方法不想被子类或者别人随意改动[这样子类就不能覆写该方法了],这里方法就要设置为final方法 public final void println(String message){ System.out.println("###################…
1.自动属性 Auto-Implemented Properties 2.隐式类型 var  var变量不能作为全局变量使用,因为不能在编译时确定类型 3.参数默认值 和 命名参数 4.对象初始化器 与 集合初始化器 { } Person p = new Person(){ Name="aa",Age=18};//属性初始化器 List<Person> list = new List<Person>(){new Person(){ Name="aa&q…
觉得还不错 留个记录,转载自http://zhh9106.iteye.com/blog/2151791 在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法. 因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识. java的内置锁:每个java对象都可以用做一个实现同步的锁,这些锁成为内置锁.线程进入同步代码块或方法的时候会自动获得该锁,在退出同步代码块或方法时会释放该锁.获得内置锁的唯一途径就是进入这个锁的…
在Java中,对于synchronized关键字,大家看到的第一反应就是这个关键字是进行同步操作的,即得名"同步锁". 当用它来修饰方法和代码块时,默认当前的对象为锁的对象,即对象锁. 当用来修饰类和静态方法时,默认当前的类为锁的对象 对象锁 修饰在方法上时,多个线程调用同一对象的同步方法时会阻塞,调用不同对象的同步方法时不会阻塞. 在多线程环境下,调用不同对象的同步方法: public class SynchronizedDemo { public synchronized void…
package com.test; interface product{ int getPrice(); } public class News { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //直接实例化接口,并实现接口的方法 int pricene=new product(){ public int getPrice(){ return 10…
自从学了JDBC用多了像一下这种代码: List<xxx> list = new Array<xxx>(); if(rs.next()){ xxx x = new xxx(); x.setxxx(rs.getString("xxx")); x.setsss(rs.getString("sss")); list.add(x); } 这类相似的代码每天都在用,每天都在copy,相信大家早就已经烦了 今天!Today!Java程序员的福利来了 最近…
java 语言的源代码是以类为单位存放在文件中,已public修饰的类名须和存放这个类的源文件名一样.而 一个源文件中只能有一个public的类,类名的首字母通常为大写. 使用public修饰的类可以被外部程序使用,而不使用public修饰的类则不能被外部程序使用. 类中定义的变量,可以称为类的‘’属性property‘’,或‘’成员变量member variable'. 通过类可以自定义新的变量类型.这种新的自定义类型与数组类似,只是其成员的类型可以是各种不同的 基本或非基本类型,而不必像数组…
yield: 解释它之前,先简述下,多线程的执行流程:多个线程并发请求执行时,由cpu决定优先执行哪一个,即使通过thread.setPriority(),设置了 线程的优先级,也不一定就是每次都先执行它 yield,表示暂停当前线程,执行其他线程(包括自身线程) 由cpu决定 [java] view plaincopyprint? public class TestYield implements Runnable { public void run() { for (int i = 1; i…
Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将近8年的时间,但随着Java 6,7,8,甚至9的发布,Java语言发生了深刻的变化. 在这里第一时间翻译成中文版.供大家学习分享之用. 42.lambda表达式优于匿名类 在Java 8中,添加了函数式接口,lambda表达式和方法引用,以便更容易地创建函数对象. Stream API随着其他语言的修改一同…
本文内容: 内部类 匿名类 首发日期 :2018-03-25 内部类: 在一个类中定义另一个类,这样定义的类称为内部类.[包含内部类的类可以称为内部类的外部类] 如果想要通过一个类来使用另一个类,可以定义为内部类.[比如苹果手机类,苹果手机类中的黄金版的是特别定制的] 内部类的外部类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外部类中的方法.[不论是静态还是非静态的,内部类都可以直接调用外部类中的属性,] 内部类的类体中不可以声明类变量和类方法. 内部类可以由外部类使用外部类中在函数中…
在C语言中,函数名可以当做函数指针传递给形参从而实现回调 void f1() { printf("f1()\n"); } void f2() { printf("f2()\n"); } void f3() { printf("f3()\n"); } void do_func(void(*f)()) { f(); } int main() { do_func(f1); do_func(f2); do_func(f3); } 在C++11中,实现回调…
Java各种称呼类详解 Java有各种各样类,内部类.嵌套类.成员类.局部类(本地类).静态类.匿名类.文件类以及这些组合起来的称呼类,成员内部类,成员匿名类,成员嵌套类,本地匿名类等,真是多的不行,但有些其实是一个意思,在这里好好理一理. 声明 1.注意,这些称呼都是翻译过来的,但是同一个英文单词或一个词组翻译过来可能有不同叫法,比如local nested class,local有局部.本地意思,其实是一个意思,local nested class翻译过来就是局部嵌套类(本地嵌套类),又因为…
我只发现了关于this的区别: 匿名类的this,是指匿名类的实例对象. lambda的this,是指外部类的实例对象. 测试代码如下: /** * Created by LarryZeal on 2017/9/13. */ public class ThisTest { public static void main(String[] args){ ThisTest thisTest = new ThisTest(); thisTest.test(); } public void test()…
在PHP7之后,PHP中加入了匿名类的特性.匿名类和匿名方法让PHP成为了更现代化的语言,也让我们的代码开发工作越来越方便.我们先来看看匿名类的简单使用. // 直接定义 $objA = new class { public function getName() { echo "I'm objA"; } }; $objA->getName(); // 方法中返回 function testA() { return new class { public function getNa…
Java的类属性和对象属性 当一个属性被static修饰的时候,就叫做类属性,又叫做静态属性 当一个属性被声明成类属性,那么所有的对象,都共享一个值 与对象属性对比: 不同对象的 对象属性 的值都可能不一样. 比如盖伦的hp 和 提莫的hp 是不一样的. 但是所有对象的类属性的值,都是一样的 步骤 1 : 类属性 类属性: 又叫做静态属性 对象属性: 又叫实例属性,非静态属性 如果一个属性声明成类属性,那么所有的对象,都共享这么一个值 给英雄设置一个类属性叫做"版权" (copyrig…
一.Scanner类 1.api简介: 应用程序编程接口 2.Scanner类: 作用:获取键盘输入的数据 位置: java.util.Scanner. 使用:使用成员方法nextInt() 和 next() 分别接收整型和字符串类型数据 //将Scanner类实例化,并用System.in表示键盘输入 Scanner scanner = new Scanner(System.in); //使用成员方法nextInt() 和next() 分别接收整型和字符串类型数据 int num = scan…
一.匿名对象 匿名对象是没有名字的实体,也就是该实体没有对应的变量名引用  匿名对象的特征:            创建的匿名类的对象只能够调用一次            匿名对象只在堆内存中开辟空间,而不存在栈内存的引用            每次创建匿名对象都是不同的对象   package com.yyx.pratice; public class AnonymousObject { public static void main(String[] args) { printStuInfo…
在实际的项目中看到一个很奇怪的现象,Java可以直接new一个接口,然后在new里面粗暴的加入实现代码.就像下面这样.那么问题来了,new出来的对象没有实际的类作为载体,这不是很奇怪吗? 思考以下代码的输出是什么? Runnable x = new Runnable() { @Override public void run() { System.out.println(this.getClass()); } }; x.run(); 实际答案是出现xxxx$1这样一个类名,它是编译器给定的名称.…
内部类 一个类内部定义的类称为内部类. 内部类允许把逻辑相关的类组织在一起,并控制内部代码的可视性. 内部类与外部类的结构层次如下. 顶层类:最外层的类 外部类:内部类所在的类 内部类:类内部定义的类 客户类:访问其他类的类 内部类的基本语法 可访问性不同. 顶层类只能处于public和默认访问级别 内部类可以是:public.protected.private和默认 package com.basicjava.innerclass; class Outer { // 如果把public改为pr…
我们知道接口一般用于定义一种规范或操作协议,然后子类实现接口的所有功能.如下面的简单代码: 定义IMessage接口 package org.lyk.entities; public interface IMessage { public abstract void print(); } 定义Message类实现IMessage接口 package org.lyk.entities; public class Message implements IMessage { @Override pub…
本文内容分转自博客:http://www.cnblogs.com/mengdd/archive/2013/02/08/2909307.html 将相关的类组织在一起,从而降低了命名空间的混乱. 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分. Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner cla…
建议39: 使用匿名类的构造函数 阅读如下代码,看看是否可以编译: public class Client { public static void main(String[] args) { List l1 = new ArrayList(); List l2 = new ArrayList(){}; List l3 = new ArrayList(){{}}; System.out.println(l1.getClass() == l2.getClass()); System.out.pri…
package com.tn.treeSet; public class Student { private String name; private int age; public Student(){} public Student(String name, int age) { super(); this.name = name; this.age = age; } public String getName() { return name; } public void setName(S…
Java基础 Java语言概述 Java语言 语言 描述 javaee 企业版 javase 标准版 javame 小型版 JDK JDK(Java开发工具包) Java语言 语言 Java语言 Java 关键字 Java 标识符 Java 注释 Java 常量 Java 变量 Java 运算符 Java 语句 Java 函数 Java 数组 语言 关键字 特点 关键字中所有字母都为小写 标识符 由26个英文字母大小写,0-9 ,_ $ 组成,不能以数字开头,不能使用关键字 Java中区分大小写…
   Java内部类(Inner Class),类似的概念在C++里也有,那就是嵌套类(Nested Class),乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦.学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地设计你的程序结构.下面从以下几个方面来介绍: 第一次见面 public interface Contents {    int value();} public inter…
Qestion /** * ClassInitializedOrder for : Java Classload Order Test * * @author <a href="mailto:magicianisaac@gmail.com">Isaac.Zhang | 若初</a> * @since 2019/7/20 */ // CASE 1 public class ClassInitializedOrder { private static boolean…
Java基础(深入了解概念为主) 匿名类 定义 Java匿名类很像局部或内联系,只是没有明细.我们可以利用匿名类,同时定义并实例化一个类.只有局部类仅被使用一次时才应该这么做. 匿名类不能有显式定义的构造函数,相反,每一个匿名类都隐含定义了一个匿名构造函数 创建匿名类 理解代码的最好方法就是先阅读,所以我们首先来看看代码. 扩展已有的类(可以是抽象类,也可以是具体类) 创建接口 interface Football { void kick(); } class AnnonymousClass {…