JAVA类变量、类方法】的更多相关文章

Java Object类方法解析 在Java中Object是所有类的父类,任何类都默认继承Object,其提供的方法主要有以下几种: registerNatives() hashCode和equale函数用来判断对象是否相同, wait(),wait(long),wait(long,int),notify(),notifyAll() toString()和getClass clone() finalize()用于在垃圾回收 下面介绍下各个方法: registerNatives() registe…
类变量(static) 类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量. public class C { public static void main(String[] args){ Child ch1 = new Child(12,"小小"); ch1.joinGame(); Child ch2 = new Child(13,"小红"); ch2.joinGame();…
类变量也称为静态变量,在类中以static关键字声明,但必须在方法.构造方法和语句块之外. -无论一个类创建了多少个对象,类只拥有类变量的一份拷贝. -静态变量除了被声明为常量外很少使用.常量是指声明为public/private,final和static类型的变量.常量初始化后不可改变. -静态变量储存在静态存储区.经常被声明为常量,很少单独使用static声明变量. -静态变量在程序开始时创建,在程序结束时销毁. -与实例变量具有相似的可见性.但为了对类的使用者可见,大多数静态变量声明为pu…
实例方法相对于静态方法(或者叫类方法)而言没有 static 前缀类般方法被对象拥有(也称之实例方法原因)特点定义时候前面没有 static 前缀本类直接调用时候必须也实例方法内否则调用前必须先实例出对象例:class A {public void instanceMethod () {System.out.println("这是一个实例方法");}public static void staticMethod () {System.out.println("这是一个静态方法…
一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: 先按照静态成员变量的定义顺序在类内部声明成员变量. 再按照原java类中对成员变量的初始化顺序进行初始化. 一个java类和编译后的class对应的转换如下: 源文件: public class Person{ public static String name="张三"; public…
wait(),notify()和notifyAll()都是Java基类java.lang.Object的方法. 通俗解释wait():在当前线程等待其它线程唤醒.notify(): 唤醒一个线程正在等待这个对象的监视器.notifyAll(): 唤醒在这个对象监视器上等待的所有线程.这三个方法,都是Java语言提供的实现线程间阻塞(Blocking)和控制进程内调度(inter-process communication)的底层机制.下面通过一个生产者/消费者的例子来讲解这三个方法的使用 /**…
有代码如下:class Price{    final static Price INSTANCE = NEW Price(2.8);    static double initPrice = 20;    double currentPrice;    public Price(double discount)    {        currentPrice = initPrice-discount;//002    }}public class PriceTest{    public s…
package com.fanshe.test; public class User { private int age; private String email; private String username; public User() { } public User(int age, String email, String username) { this.age = age; this.email = email; this.username = username; } publi…
1:概述 主要谈一谈 Java使用fork/koin类 实现的并发排序 以及对于Stream流的支持的splitetor mismatch()   ->  寻找两个数组 第一次出现数据不一致的下标 parallelPrefix() -> 对数组进行,累加求和 parallelSetAll() -> 对数组进行置数, parallelSort()   -> 并行排序 Spliterator() -> 对数组进行切分(切分后的数据为所有的数据的组合) 奇数 x/2+1     1…
, fullName.indexOf("$$")); try { clz = Class.forName(fullName); } catch (ClassNotFoundException e) { throw new RuntimeException(e); } } Method[] methods = clz.getMethods(); for (Method method : methods) { if (method.isAnnotationPresent(Encrypt.c…
Java File类的功能非常强大,利用java基本上可以对文件进行所有操作.文本将对Java File 文件操作的类详细的分析,并将File类中的常用方法进行简单介绍. 构造函数 public class FileDemo { public static void main(String[] args) { //构造函数File(String pathname) File f1 = new File("D:\\a\\1.txt"); //File(String parent,Stri…
1.生成16位数字(当时日期时间加随机两位数) public static String getNo16() { String getNo = getNo(); return getNo.substring(0, getNo.length() - 4); } //生成年月日时分秒+随机6位数 public static String getNo() { Calendar c = Calendar.getInstance(); String year = String.valueOf(c.get(…
目录 Object类详解 一.==和equals的对比 1.1 ==是一个比较运算符 1.2 equals方法 二.hashCode方法 三.toString方法 四.finalize方法 Object类详解 一.==和equals的对比 1.1 ==是一个比较运算符 ==:即可以判断基本类型,又可以判断引用类型 ==:如果判断基本类型,判断的是值是否相等 例如:int i = 10:double d = 10.0 ==:如果判断应用类型,判断的是地址是否相等,即判断是否是一个对象 1.2 eq…
题目: public class InitTest{ public static int k = 0; public static InitTest t1 = new InitTest("t1"); public static InitTest t2 = new InitTest("t2"); public static int i = print("i"); public static int n = 99; public int j = pr…
http://blog.csdn.net/lskyne/article/details/8961014 Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序.搜索以及线程安全等各种操作. 1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序.列表中的所有元素都必须实现 Comparable接口.此列表内的所有元素都必须是使用指定比较器可相互比较的 double array[] = {112, 111, 23,…
假定有一个类定义如下: package com.zhang; public final class Girl { // static代码块1 private static String sex = "female"; // 成员方法代码块1 private String name = "anonymous"; // static代码块2 static { System.out.println("static1"); } // 成员方法代码块3 p…
Java的类方法和对象方法 类方法: 又叫做静态方法 对象方法: 又叫实例方法,非静态方法 访问一个对象方法,必须建立在有一个对象的前提的基础上 访问类方法,不需要对象的存在,直接就访问 步骤 1 : 类方法 类方法: 又叫做静态方法 对象方法: 又叫实例方法,非静态方法 访问一个对象方法,必须建立在有一个对象的前提的基础上 访问类方法,不需要对象的存在,直接就访问 package charactor; public class Hero { public String name; protec…
1 协变数组类型(covariant array type) 数组的协变性: if A IS-A B then A[] IS-A B[] 也就是说,java中的数组兼容,一个类型的数组兼容他的子类类型数组. 协变数组好处:使得代码的灵活性更强. 协变数组的坏处:过于灵活导致类型混乱,比如: Peron[] arr = new Employee[5]; //Employee IS-A Person 可以执行 arr[0] = new Student();// Student IS-A Person…
  使用继承 编写继承: class Engineer{ //公共的属性和方法 }   编写子类,继承父类, class SoftEnineer extends Enginerr{ //子类持有的属性和方法 } class OrderBill extends TestEngineer{ } //只能继承一个父类     protected 修饰属性或方法的时候, 只有子类可以继承到. 子类访问父类成员 super.name访问父类属性 super.print()访问父类方法 父类属性->父类构造…
1.获取web项目根目录的绝对路径 request.getContextPath()  获取项目名称,如    /BiYeSheJi getServletContext().getRealPath("/")  获取项目根目录,如  C:\install files\programing software\eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\BiYeSheJi\…
[概论与基本语法] 取这个标题,还是感觉有些大言不惭.之前大三的时候自学过一些基本的java知识,大概到了能独立写一个GUI出来的水平把,不过后来随着有了其他目标,就把这块放下了.之后常年没有用,早就忘得精光.这次重拾Java,还是从最基本的看起.不过因为还保留着之前一点记忆以及在Python里获得的一些知识,可能写的是非常不完全的,很多东西我懂的话也就跳过了. ■ 第一话,命运之出会 绪论的绪论.. Java是典型的OOP语言,即面向对象程序设计语言.编程语言一路发展而来,从机器语言,汇编语言…
封装.抽象.继承和多态.封装:在面向对象语言中,封装特性是由类来体现的,我们将现实生活中的一类实体定义成类,其中包括属性和行为(在Java中就是方法),就好像人类,可以具有name,sex,age等属性,同时也具有eat(),sleep()等行为,我们在行为中实现一定的功能,也可操作属性,这是面向对象的封装特性: 抽象:抽象就是将一类实体的共同特性抽象出来,封装在一个抽象类中,所以抽象在面向对象语言是由抽象类来体现的.比如鸟就是一个抽象实体,因为抽象实体并不是一个真正的对象,它的属性还不能完全描…
Javabean的特点 私人成员变量 公共的成员方法 利用get/set成员方法对私人变量进行取值/赋值 构造方法(构造器) 构造方法(也叫构造器)是一种特殊的方法,定义的位置是在类中,成员方法外,和成员变量,成员方法是平级关系,定义构造方法和定义一般的成员方法很像,它的特点是与类同名,但是没有返回值,其语法格式如下: 修饰符构造方法名(形参列表) 例如: 自定义学生类,其中有一个空参的构造方法 class Student{ public Student(){ System.out.printl…
整理----加自己理解------网上参考----- java封装理念 一 概念: 隐藏对象的属性和实现细节,仅供对外提供公共访问方式. 二 好处 1)  将变量隔离 2)  便于使用 3)  提高重用性 4)  提高安全原则 三 使用原则 将不需要对外提供的内容都隐藏起来. 把属性都隐藏,仅公共方法可访问. 四 使用实例 public class Person { private int age; public void setAge(int Age){ if(Age>0&& Ag…
Java高概率笔试题知识点 Java语法基础部分 [解析]java命令程序执行字节码文件是,不能跟文件的后缀名! 1.包的名字都应该是由小写单词组成,它们全都是小写字母,即便中间的单词亦是如此 2.类名的第一个字母一定要大写 3.变量名第一个字母应该为小写 4.与属性对应的get, set方法为: set(get)+属性名, 属性名第一个字母为大写. 存储一个24*24点阵的汉字(每个点1bit)需要多少字节? (72) [解析]24*24/8=72.意思是:24*24的结果是二进制位,而八个二…
从类状态看Java多线程安全并发 pphh发布于2018年9月16日 对于Java开发人员来说,i++的并发不安全是人所共知,但是它真的有那么不安全么? 在开发Java代码时,如何能够避免多线程并发出现的安全问题?这是所有Java程序员都会面临的问题.本文讲述了在开发Java代码时安全并发设计所需要考虑的点,文中以一张图展开,围绕着Java类状态,讨论各种情况下的并发安全问题.当理解了Java类的各种变量状态在并发情况下的表现,在写Java多线程代码时就可以做到心中有数,游刃有余,写出更加安全.…
代码如下: java笔试题public class Mapplication { private static int n; private static Mapplication m1 = new Mapplication("m1"); private static Mapplication m2 = new Mapplication("m2"); private static int i = print("i"); private int j…
本文使用工具和全部源码下载: http://download.csdn.net/detail/sunylat/8190765 为什么我们要在Delphi XE7的安卓程序调用JAVA的JAR,使用JAVA的类?如果能够这样做,那么就意味着我们把Delphi开发的安卓程序扩展到了一个更大的开发范围了,理论上可以调用任意JAVA编写的代码,对于同时精通Delphi和JAVA的程序员来说,简直如虎添翼!! 我差不多用了一天时间吧,最终在老猫的帮助下,成功实现了在Delphi XE7的安卓程序中调用JA…
教材学习内容总结 封装就是将数据与相关行为包装在一起以实现信息就隐藏. 多态是指不同的类对象调用同一个签名的成员方法时将执行不同代码的现象.多态是面向对象程序设计的灵活性和可扩展性的基础. 以封装为基础,继承可以实现代码复用,需要注意的是,继承更重要的作用是实现多态. 参考: 实验二Java面向对象程序设计 public/package/protected/private 被声明为protected的成员,相同包中的类可以直接存取,不同包中的类可以继承后的子类存取. 重新定义方法时,对于父类中的…
java中面向对象的三大特性:封装.继承.多态 封装 把抽象的数据和对数据的操作封装在一起,隐藏变量的实现细节.数据被保护在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行访问. 1.原则 将不需要对外提供的内容都隐藏起来 把属性都隐藏,提供公共方法对其访问 2.好处 将变化隔离 便于使用 提高重用性 提高安全性 class FengZhuang{ private int age = 15; public void setAge(int age) { if (age > 0)…