构造器

JAVA编程思想——分析阅读

点点圈 提交于 2020-01-21 12:37:51
需要源码、JDK1.6 、编码风格参考阿里java规约 7/12开始 有点意识到自己喜欢理论大而泛的模糊知识的学习,而不喜欢实践和细节的打磨,是因为粗心浮躁导致的么? cron表达式使用 设计能力、领域建模能力 其他: 海明威的硬币:老人与海 工具准备: java编程思想电子版 别人整理的思维导图 前言 适用范围:Java SE5/6 版本。 Java的设计目标是:为程序员减少复杂性,缩短代码的开发时间,跨平台复用。 学习方法:一模式或一节点就进入一练习,思维与实践并行,现学现卖。 每当我认为我已经理解了并发编程时,又会有新的奇山峻岭等待这我去征服。——作者都花了好几个月写并发这一篇章并发出这样的感慨,我们又有什么理由妄自菲薄呢。 绪论 学习语言时:需要在头脑中创建一个模型,以加强对这种语言的深入理解;如果遇到了疑问,就将它反馈到头脑的模型中并推断出答案。 疑问:模型是什么意思?java略图?宏语言是什么? A:模型指的是思维导图。有个一整个的概念。 按照人类学习语言的方式。? 一、对象导论 1 知识 人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。类型即指所抽象的是什么,也可以说用的是什么类型的语言。Java,C ,汇编,Python等。其中想C或者汇编要基于计算机的结构来求解问题,面向过程;而Java 等面向对象的语言是基于问题来求解,面向对象。 面向对象的5个基本特性

复习java基础第一天

假装没事ソ 提交于 2020-01-20 06:44:26
一:static static: 静态的. 1. 若需要一个类的多个对象共享一个变量,则该变量需要使用 static 修饰. 2. 因为 static 修饰的变量为类的所有的实例所共享,所以 static 成员不属于某个类的实例, 而属于整个类. 所以 在访问权限允许的情况下,可以使用 "类名." 直接访问静态成员 (成员包括属性和方法). 3. 注意: 在静态方法里只能直接调用同类中其它的静态成员(包括变量和方法),而不能直接访问类中的非静态成员 . 这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象. 4. 同 3 的道理: 静态方法不能以任何方式引用this和super关键字 . 5. 非静态方法中可以直接来访问类的静态成员. 6. main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象. 7. 静态初始化指对类的静态属性进行初始化. 7.1 不应该在构造器中对静态成员进行初始化: 因为静态成员不因类的实例而改变. 7.2 1 //非静态代码块: 先于构造器执行,每创建一个对象都会执行一次. 2 { 3 System.out.println("非静态代码块"); 4 } 7.3 1 //静态代码块: 使用 static 修饰的代码块 2 //在类被加载时执行一次,且执行一次.

2-2.Vue全局API

六眼飞鱼酱① 提交于 2020-01-19 15:14:51
Vue全局API Vue构造器的延伸 Vue.extend返回的是扩展实例构造器,经常和Vue.component用来生成组件,需要实例化并挂载于自定义元素上。 下面这个例子是Vue.extend扩展实例构造器的简单demo,不再使用new Vue()进行构造。 < ! DOCTYPE html > < html > < head > < meta charset = "utf-8" > < title > Vue扩展实例构造器 < / title > < script src = "../assets/js/vue.js" > < / script > < / head > < body > < h1 > 这是Vue . extend扩展实例构造器的实例 < / h1 > < div id = "app" > < / div > < script type = "text/javascript" > var test = Vue . extend ( { template : '<p><a :href="okURL">这是扩展实例构造器</a></p>' , data : function ( ) { return { messages : '这是一个链接' , okURL : 'http://www.baidu.com' } } } ) new test ( ) . $

面试之spring

試著忘記壹切 提交于 2020-01-19 04:42:19
1.什么是spring框架? Spring框架 是帮助开发者解决开发中基础性的问题,让开发专注于应用程序的开发。 Spring框架本身是按照设计模式精心打造的 ,我们可以在开发环境中放心的集成spring框架,不必担心spring如果在 后台运行工作的。 spring框架至今 大概集成了 20 多个模块。主要分为核心容器、数据访问 / 集成、web、aop、工具、消息和测试模块等。 2.使用框架带来的好处? 简单列举一些主要好处 : 1 )Dependency Injection ( DI ) 方法使得构造器和javabean properties文件中的依赖关系一目了然。 2 )于ejb容器比较,ioc容器更加轻量,这样ioc容器在有限的内存和cpu资源的情况下,开发和发布就十分有利。 3 )spring没有闭门造车,利用了已有的技术;如orm框架、logging框架、j2ee、quartz、和jdk timer等。 4 )要测试一项用spring开发的程序很简单,因为测试环境代码都已经集成在框架中了 ,更简单的是,利用javabean 形式的pojo类,可以很方便的利用依赖注入写入测试数据。 5 )spring的web框架是一个精心设计的web mvc框架,为开发者们在web框架的选择上提供了一个更好的选择。 6 )spring提供了便捷的事务管理接口,适用于小型的本地事务处理

Java核心技术读书笔记02

为君一笑 提交于 2020-01-19 04:06:28
第四章 对象和类 类之间的关系 最常见的三种关系 依赖("uses-a") Order依赖Account类看信息 聚合("has-a") Order包含多个Item 继承("is-a") 知识点:所有Java对象都存在堆中。 GregorianCalendar类所包含的方法要比Date类多得多。 public避免标记实例域,public数据域允许程序中的任何方法对其进行读取和修改,这破坏了封装。强烈建议用private。 构造器和类同名 每个类中有一个以上的构造器 构造器的参数可以有0个,1个或多个参数 构造器没有返回值 构造器总是伴随着new操作一起调用 如果需要返回一个可变对象的引用,应该先对它进行克隆。 静态方法: 一个方法不需要访问对象状态,其所需参数都是显示参数 一个方法只需要访问类中的静态域 静态代码块是在类被加载时被创建,非静态代码块是对象被创建时被加载的,不创建不会执行该类的非静态代码块。 · public class TestA { public static void main(String[] args) { B b=null; b=new B(); } } class B{ public static int numB=1; static{ System.out.println("static block: "+numB); } { System.out

Java 继承与多态

拟墨画扇 提交于 2020-01-19 03:47:30
super() super(name,age); 继承父类的初始化,用在构造函数的第一行。 如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。 super.print(); //super.+函数名 当子类函数名和父类函数名相同时,调用父类函数。 造型cast Vechicle v; //父类 Car c = new Car(); //子类 v = c; //✔ c = v; //❌ 造型:c = (Car) v; (只有当v这个变量实际管理的是Car才行) Object类的函数 .toString() .equals() 泛型方法<E> public static < E > void printArray( E[] inputArray ) 泛型类 public class Box<T> 类型通配符List<?> public static void getData(List<?> data) { System.out.println(“data :” + data.get(0)); } public static void getUperNumber(List<? extends Number> data) //参数泛型上限为Number,所以泛型为String是不在这个范围之内 //类型通配符下限通过形如

Java-封装-构造器

我与影子孤独终老i 提交于 2020-01-18 09:31:29
目录 封装 构造器 属性赋值的先后顺序 this使用 this的基本使用 this调用构造器 package import 封装 封装 与 隐藏是面向对象的特性之一。 程序追求的是高内聚, 低耦合。 封装的作用: 隐藏内部的复杂性;只公开简单的接口;方便调用;从而提高可用性,扩展性;通俗的说就是隐藏该隐藏的, 暴露该暴露的。这就是封装的思想。 在对象的属性赋值的时候, 除了属性的数据类型,存储范围之外, 实际中还需要加上别的限制条件,但是又不能在声明属性的时候设置, 需要通过方法进行限制条件的添加。比如,setNama() 这样的方法 进行设置。 避免用户使用对象.属性的方式设置属性, 需要将属性设置修饰权限, private等方式。 这就体现了封装性。 封装性的体现: 将属性XXX私有化,设置为private,再通过公共的方法(public)获取(getXXX)该属性和设置(setXXX)该属性。 不对外暴露私有的方法 单例模式 封装性的体现需要权限修饰符。 权限修饰符是置于类成员属性之前的,用于限制对象对成员属性的访问权限。 4种权限可以修饰属性,方法, 构造器,内部类。 修饰符 类内部 同一个包 不同包的子类 同一个工程 private 可用 缺省(default) 可用 可用 protected 可用 可用 可用 public 可用 可用 可用 可用

scala的class、object、trait的区别和联系

与世无争的帅哥 提交于 2020-01-18 05:47:05
class: 在scala中,类名可以和对象名为同一个名字,该对象称为该类的伴生对象,类和伴生对象可以相互访问他们的私有属性,但是他们必须在同一个源文件内。类只会被编译,不能直接被执行,类的申明和主构造器在一起被申明,在一个类中,主构造器只有一个所有必须在内部申明主构造器或者是其他申明主构造器的辅构造器,主构造器会执行类定义中的所有语句。scala对每个字段都会提供getter和setter方法,同时也可以显示的申明,但是针对val类型,只提供getter方法,默认情况下,字段为公有类型,可以在setter方法中增加限制条件来限定变量的变化范围,在scala中方法可以访问改类所有对象的私有字段。 object: 在scala中没有静态方法和静态字段,所以在scala中可以用object来实现这些功能,直接用对象名调用的方法都是采用这种实现方式,例如Array.toString。对象的构造器在第一次使用的时候会被调用,如果一个对象从未被使用,那么他的构造器也不会被执行;对象本质上拥有类(scala中)的所有特性,除此之外,object还可以一扩展类以及一个或者多个特质:例如, abstract class ClassName(val parameter){} object Test extends ClassName(val parameter){} 注意

c#基础知识之设计类型

烈酒焚心 提交于 2020-01-18 03:52:09
在C#中新创建一个对象都用 new 操作符来创建,以下是 new 操作符做的事情: 计算类型及其所有基类型中定义的所有实例字段需要的字节数;堆上每个对象都需要一些额外的成员,包括“类型对象指针”和“同步块索引”,CLR利用这些成员来管理对象,所以在计算所需的字节数时这些额外成员所需的字节数也需要计算在内。 从托管堆中分配类型需要的字节数,从而分配对象的内存,分配的所有字节都会初始化为零(0)。 初始化对象的“类型对象指针”和“同步块索引”成员。 调用类型的实例构造器,传递在 new 调用中指定的实参(无参构造函数则不需要);大多数编译器在构造器中自动生成代码来调用基类构造器,每个类型的构造器都负责初始化该类型定义的实力字段。 new 执行了所有这些操作之后,返回指向新建对象的一个应用。 CLR的重要特性之一就是类型安全,所以一个类型不可能伪装为另一个类型,但是CLR允许将对象转换为它的实际类型或者她的任何基类型。c#不要求任何特殊语法即可将对象转换为它的任何基类型,因为它是一种安全的隐式转换,而当一个类型转换为它的某个派生类型时必须要进行显示转换。 使用c#的 is 和 as 操作符来转型: is 用于检查对象是否兼容于指定类型,返回布尔值,不会抛出异常; as 操作符的工作方式与强制类型转换一样,只是它永远不会抛出异常。 类对象 :类的实例,存在于托管堆上,内部包含实例字段

Java网络编程之URL网络编程

爱⌒轻易说出口 提交于 2020-01-17 23:39:50
一、URL类概述 1、URL(Uniform Resource Locator):统-资源定位符,它表示Internet上某一资源的地址。 2、它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。 3、通过URL我们可以访问Internet上的各种网络资源,比如最常见的www,ftp站点。 浏览器通过解析给定的URL可以在网络上查找相应的文件或其他资源。 4、URL的基本结构由5部分组成: 二、URL类构造器 1、为了表示URL, java.net 中实现了类URL。我们可以通过下面的构造器来初始化一个URL对象。 2、URL类的构造器都声明抛出非运行时异常,必须要对这一异常进行处理,通常是用try-catch语句进行捕获。 3、当URL对象生成后,其属性是不能被改变的,但可以通过它给定的方法来获取这些属性。 来源: https://www.cnblogs.com/ZengBlogs/p/12207411.html