看下面例子及说明: /**
假如有外部类调用了该类,代码为:new StaticTest();
那么下面是类属性的加载顺序
*/publicclass StaticTest{publicint dsd=2;//第3 //多个对象会有多次分配内存public awds() {
int sdsfsd=2;//第4 //多个对象会有多次分配内存}//静态代码块static{
System.out.println("静态代码块正在加载...");//第1}
publicstaticint d=2;//第2 内存只被分配一次publicfinalstaticint u = 3; //内存只被分配一次 且不可...
子类不能继承父类的构造器(构造方法或者构造函数),但是父类的构造器带有参数的,则必须在子类的构造器中显式地通过super关键字调用父类的构造器并配以适当的当属列表。如果父类有无参构造器,则在子类的构造器中用super调用父类构造器不是必须的,如果没有使用super关键字,系统会自动调用父类的无参构造器。public class InheritanceDemo {public static void main(String args[]) {// SubClass sc = new SubClass();SubClass ...
/* * 类的定义: * 类是用来描述现实世界的事物的 * * 事物: * 属性 事物的描述信息 * 行为 事物能够做什么 * * 类是如何和事物进行对应的呢? * 类: * 成员变量 * 成员方法 * * 需求:写一个学生类 * * 学生事物: * 属性:姓名,年龄... * 行为:学习,吃饭... * * 学生类: * 成员变量:姓名,年龄 * 成员方法:学习,吃饭 * * 成员变量:和我们前面学习过的变量的定义是一样的。 * 位置不同:类中...
问题 昨天有人问我一个类中有静态方法,有静态代码块,普通代码块,构造函数,普通方法,静态方法,那么它们的加载顺序是什么?如果有之类继承该类,也有如上的方法,那么加载顺序又是如何?实例1 普通方法StaticVar package org.andy.test;/** * @author andy * @version:2015-2-4 上午10:52:32 * * */public class StaticVar {public StaticVar() { System.out.println("----StaticVar-----");}
} 测试...
public class A { public class B { } }; 需要实例B类时,按照正逻辑是,A.B ab = new A.B();那么编译器就会出现一个错误--"is not an enclosing class"再翻看相关的Java代码,发现原来写法出错了!正确的做法是[java] view plain copy A a = new A(); A.B ab = a.new B(); 没有静态(static)的类中类不能使用外部类进行.操作,必须用实例来进行实例化类中类.原文:https://www.cnblogs.com/zhuyeshen/p/1208057...
一、定义 二、类的使用 实例:定义的类要在一个class文件内,实例化类的对象要在另一个文件内类文件: 实例文件: 对象内存图:先主函数入栈,之后新开一个对象存入堆内存中,之后调用的call方法先压栈又出栈,之后同样又是sendmessage方法压栈又出栈,最后是main方法出栈 原文:https://www.cnblogs.com/kongbursi-2292702937/p/11587661.html
java是面向对象的语言,而对象的创建,则需要借助类,类可以说是一个创建对象的模具(个人理解)。类的定义 以下构成定义类的最简单(不能再简单)语句:class MyClass {// 字段,构造器,// 方法等的声明
} 通常情况下,类的声明一般包含如下组成部分(按顺序):类的修饰词,如public(可有可无)类的名称,一般一大写字母开头extends关键词+继承的类,一个类只能继承一个超类(可有可无)implements+实现的借口,借口可以...
一个变量作为类成员使用的时候,如果没有被初始化,java会为其分配默认值:
-----------------------------------------------------------------------------------------
Boolean false
Char ‘\u0000‘(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d----...
package com.algorithm.api;/************************************************************************** Compilation: javac In.java* Execution: java In (basic test --- see source for required files)** Reads in data of various types from standard input, files, and URLs.**************************************************************************/import java.io.BufferedInputStream;
import java.io...
今天看到一个java类中定义了接口,写个备忘录,记录一下 1package com.gxf.test;2 3publicclass Test_interface {4publicinterface show{5publicvoid show();6 }7staticclass TestInterface implements show{8 9 @Override
10publicvoid show() {
11 System.out.println("this is interface!");
1213 }
1415 }
1617publicstaticvoid main(String []args){
18 TestInterface testInterface...
一般类,抽象类,接口的使用场景:类;共同的特征和行为的抽取和封装接口:标准,规范(功能的扩展) 需要对某个类进行功能的扩展,就让某个类实现这个接口,抽取出来称为接口 内部类: 1.成员内部类:该类与外部类的属性和方法平级Outer outer =new Outer();outer.show();//创建内部类的实例Outer.Inner inner=outer.new Inner();//实例.new方法inner.showInner();创建成员内部类的对象:外部类类名.内部类类名 对象名= 外部类对象.new ...
俗话说的好,实践出真知,所以除了理论知识掌握扎实以外,更重要的是要多加操练,这样才能掌握核心科技。 今天我们就用刚学会的类来实践一下,目标便是完成上一篇中的剁手任务。 我们的商品类已经准备好了,代码重新罗列一次,这里增加了一个重载方法,关于重载这里不过多介绍,以后会专门文章介绍,这里把它当成一个普通方法就好了,主要用来比较两个商品是否相等,如果对代码不熟悉的话可以再返回去看一下上一篇文章。 ...
一、类的加载、连接和初始化 当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,如果没有意外,JVM 将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载。二、类的加载 系统可能在第一次使用某个类时加载该类,但也可能采用预先加载机制来预加载某个类,不管怎样,类的加载必须由类加载器完成,类加载器通常由 JVM 提供,由 JVM 提供的这些类加载器通...
json对象转成json字符串JSONObject json = new JSONObject();
json.put("page",1);
json.put("pageSize",10);
json.toJSONString();
还有Map集合在放进JSONObject,变成json字符串Map<T,T> map = new HashMap<T,T>();
map.put("page",1);
map.put("pageSize",10);
json.putAll(map);
json.toJSONString();
将一个类变成一个json类型的字符串JSONObject.toJSONString(object);
JSON.toJSONString(object)在json变成对象之前先学会...
Java是一门面向对象的编程语言,理解Java,首先要理解类与对象这两个概念。 Java中的类可以看做C语言中结构体的升级版。结构体是一种构造数据类型,可以包含不同的成员(变量),每个成员的数据类型可以不一样;可以通过结构体来定义结构体变量,每个变量拥有相同的性质。例如: 1. #include 2. int main(){ 3. // 定义结构体 Student 4. struct Student{ 5. // 结构体包含的变量 6. char *name; 7. int age;...