静态方法

错题0913-java

时光总嘲笑我的痴心妄想 提交于 2020-02-28 00:41:39
子类A继承父类B, A a = new A(); 则父类B构造函数、父类B静态代码块、父类B非静态代码块、子类A构造函数、子类A静态代码块、子类A非静态代码块 执行的先后顺序是? A;父类B静态代码块->父类B构造函数->子类A静态代码块->父类B非静态代码块->子类A构造函数->子类A非静态代码块 B:父类B静态代码块->父类B构造函数->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块 C;父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数 D;父类B构造函数->父类B静态代码块->父类B非静态代码块->子类A静态代码块->子类A构造函数->子类A非静态代码块答案:C。 在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用下列哪个修饰词() A;protected B;public C:private D:不需要任何修饰词解析: 下面有关JVM内存,说法错误的是? A:程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的 B:Java方法执行内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的 C:方法区用于存储JVM加载的类信息、常量、静态变量、即使编译器编译后的代码等数据,是线程隔离的 D

java 静态相关内容

假装没事ソ 提交于 2020-02-28 00:20:00
一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口。 两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的效果,只需要在类中定义的方法前加上static关键字。例如:public static int maximum(int n1,int n2) 使用类的静态方法时,注意: a.在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法),而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量,需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。 b.静态方法不能以任何方式引用this和super关键字,因为静态方法在使用前不用创建任何实例对象,当静态方法调用时,this所引用的对象根本没有产生(this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用)。 (2)静态变量是属于整个类的变量而不是属于某个对象的。注意不能把任何方法体内的变量声明为静态,例如:

Java内部类

孤者浪人 提交于 2020-02-27 21:41:12
从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论。其实任何优秀的语言特性用得不好就是滥用,内部类用得不好就会导致代码像迷宫一样,导致出现毫无重用的综合征。 1、内部类分为成员内部类、静态嵌套类、方法内部类、匿名内部类。 几种内部类的共性: A、内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号。 B、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的。 2、成员内部类:形式如下 class Outer { class Inner{} } 编译上述代码会产生两个文件:Outer.class和Outer$Inner.class。 成员内部类内不允许有任何静态声明!下面代码不能通过编译。 class Inner{ static int a = 10; } 能够访问成员内部类的唯一途径就是通过外部类的对象! A、从外部类的非静态方法中实例化内部类对象。 class Outer { private int i = 10; public void makeInner(){ Inner in = new Inner(); in.seeOuter(); } class Inner{ public void seeOuter(){ System.out

工作流-核心接口详解

旧巷老猫 提交于 2020-02-27 15:10:55
八大核心接口是么 RepositoryService > RepositoryService----操作静态的资源(流程定义,bpmn、png) 常用方法 **Model model类操作 如增减操作 createModelQuery model查询 createDeploymentQuery 部署查询 createProcessDefinitionQuery 流程定义查询 **ModelEditorSource* model编辑源文件相关操作 get*** 获取资源类操作,如获取model、model编辑数据,流程定义、流程图,部署相关数据。 ad*** 类似上条 delete*** 类似上条 总结 > 主要对流程模型/流程定义/部署以及其他静态数据进行操作,Api方法构成一般为 动作+资源。如addModel,add是动作,Model是被操作的资源。 来源: oschina 链接: https://my.oschina.net/u/2555967/blog/3165508

面试题之类的加载过程

妖精的绣舞 提交于 2020-02-27 11:07:28
加载–验证–准备–解析–初始化–使用–卸载 而加载分为三个步骤 1.通过类的全限定名来获取定义此类的二进制字节流 2.将字节流所代表的的静态存储结构转化为方法区的运行时数据结构。 3.在内存中生成一个代表这个类的java.lang.class对象,作为方法区中这个类的各种数据的访问入口。 类的加载顺序; 父类静态代码块–子类静态代码块—父类构造代码块和构造方法----子类构造代码块和构造方法。 反射?? 类加载是不是就是new对象。 来源: CSDN 作者: money云 链接: https://blog.csdn.net/Minimum_Time_Hour/article/details/104504521

java基础学习3---面向对象

妖精的绣舞 提交于 2020-02-27 10:59:35
1、面向对象 对象:用来描述客观事物的一个实体,由一组属性和方法构成。 面向对象: 人关注对象 人关注事物信息 类 确定对象将会拥有的属性和方法 类的特点: 类是对象的类型 具有相同属性和方法的一组对象的集合。 类和对象的关系 类是抽象的概念 对象是一个能看到的具体实体 类是对象的类型 对象是特定类型的数据 具体开发中,先定义类再实例化对象。 对象实例化 Cat cat = new Cat ( ) ; 实例化过程分两部分: 声明对象 Cat cat 实例化对象 new Cat() 注意: 1.每次new对象都会产生新的实例化对象。 2.多个对象可以指向同一块实例化空间。 3.对象必须被实例化之后才能使用。 4.对象间的引用,实际上传递的是堆内存的引用。 构造方法 1、构造方法与类同名,没有返回值。 2、只能在对象实例化的时候调用。 3、没有指定构造方法时,系统会自动添加无参的构造方法。 4、当指定构造方法时,无论是有参、无参的构造方法,都不会自动添加无参的构造方法。 5、一个类中可以有多个构造方法。 单一职责原则 单一职责原则(SRP:single responsibility principle),又称单一功能原则。 面向对象的五个基本原则之一(SOLID:SRP、OCP开放封闭原则、LSP里氏替换原则、DIP依赖倒置原则、ISP接口分离原则)。

JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

时光毁灭记忆、已成空白 提交于 2020-02-27 08:51:26
软件151 苏垚 本篇博客我们继续的来聊SpringMVC的东西,下方我们将会聊到js、css这些静态文件的加载配置,以及服务器推送的两种实现方式。当然我们在服务器推送时,会用到JQuery的东西,所以我们先聊一下如何加载静态资源文件,然后我们再聊如何实现服务器推送。 下方给出了两种实现服务器推送的方式,一种是SSE(Server Send Event (服务端推送事件))另一种是基于Servlet异步处理的推送,下方会给出详细的实现方式,并且给出了两者的区别。 一、静态资源文件映射 静态资源文件映射在SpringMVC中的配置也是比较简单的、在我们Spring的Config文件里边配置一下即可。下方就是我们在配置静态资源文件时所做的内容。 1、映射资源文件 首先我们在src/main/resources包下方创建了衣蛾assets文件,该文件下就存放着我们工程中所使用所有的静态资源文件。然后我们在Spring的配置文件中重写addResourceHandlers()方法,使用该方法来配置“assets”目录。    2、资源文件的引用 我们来创建一个jquery_test.jsp文件,该文件中引入了assets文件夹中js文件夹下的jquery.js文件。在jquery_test.jsp中就使用了jQuery的东西。下方就是该文件的所有内容。当然下方页面的功能比较简单

JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术

醉酒当歌 提交于 2020-02-27 08:50:40
上篇博客我们详细的聊了《 JavaEE开发之SpringMVC中的静态资源映射及服务器推送技术 》,本篇博客依然是 JavaEE 开发中的内容,我们就来聊一下 SpringMVC 中的自定义消息转发器( HttpMessageConverter )和 SpringMVC 中的文件上传。消息转发器在日常开发中是比较常用的,其可以灵活的将用户发过来的消息按照自定义的格式进行解析,然后将解析的数据映射成Model,下方会给出自定义消息转发器的详细内容。聊完消息转发器,我们还会聊一下 Spring 中MVC的文件上传的操作。详细的内容请看下方介绍。 一、自定义消息转发器 接下来我们将实现自定义消息转发器,在自定义消息转发器时,我们需要基础 Springframework 中的 AbstractHttpMessageConverter 这个抽象类。这个抽象类中就定义着我们自定义消息转发器所需要的方法。我们将这些方法进行重写就好。 1.创建消息转发器的类 下方就是我们创建自定义消息转发器的过程,我们将其命名为 CustomMessageConverter 类,如下所示:    接下来我们就来聊一下 CustomMessageConverter 中的内容,下方代码段就是 CustomMessageConverter 类中的部分内容。在继承类时,我们将泛型指定为 StudentModel 类

代理模式-静态代理

点点圈 提交于 2020-02-27 01:57:19
IDB package com.bjpowernode.proxy; /** * 代理类和目标类都必须使用同一个接口。 */ public interface IDB { int insert(); int delete(); int update(); } OracleDB package com.bjpowernode.proxy; /** * 这是一个Oracle数据库相关的操作类 * * 目标类(委托类)。 */ public class OracleDB implements IDB{ /* * 以下程序编写结束了,并且上线了,客户提出了新的需求, * 这个新的需求就是希望在每一个业务执行的时候都要记录 * 以下所耗费的时间。 * * 客户提出新的需求我们必须满足。但是用下面这种方式进行升级: * 1、违背了OCP原则,开闭原则 * 2、代码没有得到重复利用,因为这些记录方法执行的耗费时长和业务没有关系,都是固定的,在每一个类中都有。 */ /* public int insert(){ long begin = System.currentTimeMillis(); //以下是一个插入操作 System.out.println("Oracle insert data...."); try { Thread.sleep(526); } catch

java学习2

江枫思渺然 提交于 2020-02-26 17:14:30
1. 输出unicord字符, char char1 = '\u2605'; 2.声明常量:final 数据类型 常量名称[=值] 其中常量名称通产使用大写字母,常量被声明后,只能进行一次赋值 3.变量按照有效范围分可以分为成员变量以及局部变量,成员变量又可以分为静态变量以及实例变量 int x = 45; static int y=90; 静态变量除了能在定义它的类中存取,还能直接以“类名.静态变量”的方式在其他类内使用 4. 在JAVA中静态方法中只能调用其他,静态方法。main方法都是静态方法,如果想调用其它的方法,要么只能是其它的静态方法。还有一种方法就是将当前类实例化在调用它的非静态方法 public class text1{ public static void main(String [] args){ int a = 12; int b = 23; text1 aa = new text1(); aa.add(a,b); } public void add(int a,int b){ System.out.println("计算的结果是:"+(a+b)); } } main方法里面调用非静态方法时,需要new一个对象,因为静态方法,静态类属于模板,非静态类和方法属于对象。 public class Test { int x=10; int y=15; public