class -- 9




200x200


概述此前的一系列日志中,我们介绍了 SPI 机制不遵循双亲委派的类加载器 -- 线程上下文类加载器我们今天要做的事情和 SPI 非常像,我们要在代码运行时进行&

#技术帖    #技术分享    #class    #java   

200x200


概述上一篇日志我们介绍了 java 类加载器与他们实际的类实现:java 类加载器详解 -- 双亲委派模式及实现其中,我们介绍了类加载器的双亲委派原则,以及很重要的一个原则:类&n

#技术帖    #技术分享    #线程    #类   

200x200


概述在上一篇日志中,我们通过一个实际的例子分析了 java 程序的初始化过程和类加载顺序java 程序初始化过程 本篇日志中,我们来详细的了解一下 java&n

#技术帖    #龙潭书斋    #技术分享    #class   
概述作为 java 开发者,创建对象是一件最常见的事,那么,除了使用 new 来创建对象,你知道还有哪些创建对象的方式吗?怎样通过一个 Class 对象获得他的实例呢?本节我们就来介绍一下 java 对象创建的五种方式 使用 new 关键字MyObject myObj = new MyObject();  这是最简单也是最常见的对象创建方式,他是通过调用调用指定构造方法进行对象的创建的,可以调用任何构造方法 使用 Class 类的 newInstance 方法很多情况下,我们需要通过已有的 Class 对象创建对应的实例,这在代理、反射等情况下非常常见Class 对象拥有 newInstance 方法,他等同于调用对应类的无参构造方法创建对象,因此这种方式最大的局限也在于被实例化的类必须具有无参构造方法,当然这样做的一个好处是,我们可以调用类的无参 private 构造方法创建对象,这是用 new 关键字无法做到的 使用 java.lang.reflect.Constructor 类的&
#技术帖    #技术分享    #class    #java   
概述一言以蔽之,内部类就是将一个类的定义放在另一个类的定义内部内部类在平常的编码过程中应用的场景并不多,本文主要来总结一下内部类的特性和用法 下面的例子展示了内部类组织代码和名字隐藏的功能:package com.techlog.test; /** * Created by techlog on 16/2/24. */ public class Parcel2 { private class Destination { private String label; Destination(String whereTo) { label = whereTo; } String readLabel() { return label; } } public Destination to(String s) { return new Destination(s); } public void ship(String dest) { Destination d = to(dest); System.out.println(d.readLabel()); }
#技术帖    #龙潭书斋    #class    #java   
概述面向对象的一个重要特征就是抽象,java 中提供了两种抽象的形式,分别是接口和抽象类,虽然他们有很多地方十分相似,但却有着更多的不同,有着各自独特的应用场景本文就着重介绍一下接口和抽象类 抽象类和抽象方法抽象方法abstract void func();  如上面所示,只有方法声明,没有方法体,并且在方法前添加 abstract 关键字则意味着将这个成员方法创建为抽象方法 抽象类包含抽象方法的类必须在 class 关键字前添加 abstract 关键字,声明他是一个抽象类 package com.techlog.test; /** * Created by techlog on 16/2/24. */ abstract public class FirstTest { abstract public void func(); } class BTest { public static void main(String[] argv) { FirstTest firstTest = new FirstTest() { @Override public void func()
#技术帖    #龙潭书斋    #class    #java   
概述final 是 java 的重要关键字之一,可以用来修饰类、方法和变量,主要用来表示“不可改变” final 类final 类不能被继承,同时,一旦用 final 修饰了类,也就意味着 final 类中的所有方法都被隐式地指定为 final 方法 final 方法在类继承的过程中,对于父类中的 final 方法,子类不能修改和覆盖private 方法都被隐式指定为 final 方法 有两个原因使用 final 方法:锁定方法,防止被子类修改其含义在早期的 java 实现版本中,final 方法被实现为内嵌调用,可以提升性能 final 变量final 关键字用来修饰变量是最常用的用法,如果修饰成员变量,则必须在定义时或者构造方法中初始化,且一经初始化此后不能再进行任何赋值针对基本类型和类对象有着不同的含义:对于基本类型,final 变量一经初始化,此后不能再改变该变量的值对于类对象,已经初始化后,不能让这个变量再指向另一个对象,但他指向的对象的内容是可以改变的 static 
#技术帖    #龙潭书斋    #类    #class   
问题C++ programming language 第309页的例子:template <class C> class Basic_ops //基本操作类 { public: bool operator== (const C&) const; bool operator!= (const C&) const; // ... const C& derived () const //获得操作访问权 { return static_cast <const C&> (*this); } }; template <class T> class Math_container : public Basic_ops < Math_container<T> > //具体实现的容器类 { public: size_t size() const; T& operator[] (size_t); const T& operator[] (size_t) const; // ... }; 这样,使得有关容器的基本操作定义可以与容器本身的定义分开,而且只需定义一次&n
#读书笔记    #技术帖    #c++    #cpp   



京ICP备2021035038号