JAVA 对象和类 技术教程文章

java基础:反射类的main方法

注意到反射main方法跟普通方法有区别:这是因为jdk设计的问题,jdk1.4版本跟1.5以后的版本设计有区别,如下Jdk1.4:public Objectinvoke(Object obj,Object[] args),即按jdk1.4的语法,需要将一个数组作为参数传递给invoke方法时,数组中的每个元素分别对应被调用方法中的一个参数,1.4回去拆分数组中的元素,作为参数。Jdk1.5:public Objectinvoke(Object obj,Object... args) 为了jdk向下兼容,调用invoke方法不能简单传...

Java工具类HttpClientUtil【代码】

1. 依赖包<dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>4.4.1</version> </dependency>2. 代码 import org.apache.http.*; import org.apache.http.client.HttpRequestRetryHandler; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; i...

Java基础:复用类【代码】【图】

1、复用方式:组合、继承、代理组合是功能上的复用,继承是形式上的复用,代理位于二者之间。2、创建一个子类对象时,该对象包含了一个基类的子对象。这个子对象与用基类直接创建的对象是一样的。二者的区别在于:后者来自于外部,而子对象被包装在子类对象内部。3、基类的无参构造器可以隐式地自动被调用,有参构造器必须被显式地调用(通过super关键字)。子类构造器中调用基类构造器的语句须位于第一句。注意:如果已经定义了有...

Java基础之类加载器【代码】

Java类加载器是用户程序和JVM虚拟机之间的桥梁,在Java程序中起了至关重要的作用,理解它有利于我们写出更优雅的程序。本文首先介绍了Java虚拟机加载程序的过程,简述了Java类加载器的加载方式(双亲委派模式),然后介绍了几种常见的类加载器及其适用场景,最后则一个例子展示了如何自定义类加载器。本文很多地方参考了java官方文档关于虚拟机加载的教程,点此直达官方参考文档基本概念基本文件类型和概念常见概念介绍:java源文件...

如何在Eclipse中查看Java类库的源代码以及相应的api【图】

你的JDK安装目录下%Java_home%/src.zip文件就是源码,解压缩找到对应包下面的类即可。如果是Eclipse开发,ctr+鼠标左击,出现不了源码的话,在弹出的视图中点击attach source,选择src.zip即可。 JDK API文档 java SE 8 API文档:http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html jdk-8-apidocs 在线版:http://docs.oracle.com/javase/8/docs/api/index.html java SE 7 API文档:...

javac 及 java命令的使用问题(错误或无法加载主类)

一、问题使用 javac 命令编译完.java源文件后,用 java 命令运行.class文件时,通常会遇到如下或类似的问题:错误: 找不到或无法加载主类 HelloWorld.class二、解决javac命令用来编译.java源文件。没有-d选项时直接在.java源文件同级目录下生产.class文件;有加-d时会在指定路径生成.class文件且文件在与包语句对应的目录下。当指定 -d path 选项时,会在path下生成 与.java文件里的包声明结构 相同的.class文件。如,若HelloWorld...

Java多线程 同步 对象锁

多线程、同步:https://www.cnblogs.com/GarfieldEr007/p/5746362.html Java对象锁和类锁全面解析(多线程synchronized关键字):http://blog.csdn.net/u013142781/article/details/51697672 Java Object对象中的wait,notify,notifyAll通俗理解http://blog.csdn.net/vk5176891/article/details/53945677 原文:https://www.cnblogs.com/shunblogs/p/8526047.html

Java知多少(99)Graphics2D类的绘图方法【代码】

Java语言在Graphics类提供绘制各种基本的几何图形的基础上,扩展Graphics类提供一个Graphics2D类,它拥用更强大的二维图形处理能力,提供、坐标转换、颜色管理以及文字布局等更精确的控制。绘图属性Graphics2D定义了几种方法,用于添加或改变图形的状态属性。可以通过设定和修改状态属性,指定画笔宽度和画笔的连接方式;设定平移、旋转、缩放或修剪变换图形;以及设定填充图形的颜色和图案等。图形状态属性用特定的对象存储。1. stro...

Java Date时间转换String类型或String时间格式字符串转Date类型【代码】

转自:https://blog.csdn.net/u010486495/article/details/79260448 Java时间格式转换大全import java.text.*; import java.util.Calendar; publicclass VeDate { /*** 获取现在时间** @return 返回时间类型 yyyy-MM-dd HH:mm:ss*/publicstatic Date getNowDate() {Date currentTime = new Date();SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = formatter.format(currentTime);P...

201871010118-唐敬博《面向对象程序设计(java)》 期末学习总结

实验总结: 一个学期的java学习已经结束,我发现相较于很多同学来说,我的能力还是不够,我还需比其他同学更加努力。而且我深刻的感到,很多学习是需要耐心和实践才能认识到自己的不足,才能不断完善的。在以后的学习里,我会继续深入学习,不断完善自己的知识面,学会活学活用。 还有对我帮助很多的老师和学长表示感谢。意见和建议: 因为专业课较多,所以如果实验作业在周五下午发布,周一晚上十点提交,在这之间时间比较...

Java类、超类、包

定义和实例化与C#相同 特殊变量 super当前对象的父类,用于调用父类的变量和方法 this当前类对象 存取限制有3个 没有C#的interval,其他一样。 public protected,类和派生类 private,类内部 继承 与C#一样,不能多重继承,多重继承用接口。用extends 基类。超类就是C#的基类 包 一组类。就是C#的命名空间,引用时用import 原文:http://www.cnblogs.com/yinlg/p/4928169.html

Effective Java 第三版——64. 通过对象的接口引用对象【代码】【图】

Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本。64. 通过接口引用对象条目 51中指出,应该使用接口而不是类作为参数类型。更通常地说,应该更喜欢使用接口而不是类来引用对象。如果存在适当的接口类型,那么应该使用接口类型声明参数、返回值、变量和属性。真正需要引用对象的类的惟一时机是使用构造方法创...

Java8新特性——lambda表达式.(案例:完全数分类)【代码】

需求:输入一个数,判断其类型(完全数,过剩数,不足数)完全数:自身之外所有因数和==自身过剩数:自身之外所有因数和>自身不足数:自身之外所有因数和<自身 1package cn._3.numberclassifier;2 3//BEGIN number_classifier_java8 4import java.util.List;5import java.util.stream.IntStream;6 7 import static java.lang.Math.sqrt;8 import static java.util.stream.Collectors.toList;9 import static java.util.stream.IntStream.ran...

Java中的boolean类型,你真的懂吗

Talk is cheap, show you my code! 先看一段Java代码: package com.test; /** * @author ZhangGuoPing */public class Test { public static void main(String[] args){ boolean x; if(x = 0){ System.out.println("平果"); } }} 现在我想问个问题,这段代码能不能通过编译? boolean类型是Java八大基本类型之一,boolean类型只有两个值:false和true,用来判定逻辑条件。 在C/C++中,数值...

Java面向对象_对象内存分析—值传递和引用传递

对象内存分析,我一直学的比较模糊,今天抽空整理一下,希望能理清。先说一下,内存分析从何而来,这对于我们这些刚接触java的人来说都比较模糊,就从new关键字说起吧。new关键字表示创建一个对象或者说是实例化对象或者说是申请内存空间,所有程序运行都需要内存来存储数据,这样内存的概念就出来了。举个例子说明:定义一个类Person,属性:char a;int sge;那么创建一个对象申请的内存空间就是所有属性所占字节之和,为6个字节。详...

java之类型安全的枚举【代码】【图】

WHY  枚举,顾名思义,就是一组可罗列的值,如四季春夏秋冬,方位东南西北,星期,月份等。在J2SE5.0 Tiger会出现之前,通常定义一个普通类或者抽象类,在类中定义一组public staic final 修饰的成员变量来表示这样的数据。publicabstractclass Direction {publicstaticfinalint EAST = 0; //东publicstaticfinalint WEST = 1; //西publicstaticfinalint SOUTH = 2; //南publicstaticfinalint NORTH = 3; //北 }然后我们就能...

java写一个类,并测试它【代码】

这是Student类package com.ma_0002; /*** 建立一个学生类,重写toString()方法* @author TP**/ public class Student {/************成员变量区****************//**学生姓名*/String name;/**学生年龄*/int age;/************构造方法区****************/public Student() {super();}public Student(String name, int age) {super();this.name = name;this.age = age;}/************get和set方法区****************/public String...

java面向对象编程(六)--四大特征之继承、方法重载和方法覆盖【代码】

一、继承 1.继承的概念 继承可以解决代码复用,让我们的编程更加靠近人类思维。当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extends语句来声明继承父类。语法如下: class 子类 extends 父类这样,子类就会自动拥有父类定义的某些属性和方法。另外,并不是父类的所有属性、...

Java 子类初始化父类的构造方法 成员变量不支持多态

class Fu{ int a=2; Fu() { System.out.println("fu run"); }}class Zi extends Fu{ Zi() { System.out.println("zi run"); }}public class Copy { public static void main(String[] args) { Zi zi = new Zi(); System.out.println(zi.a); }}运行结果为 fu run ,zi run ,0 说明子类在实例化的时候,调取了父类的构造函数中的方法,但并没有调用成员变量。,====== 子类 实例化的时候 默认调用父类为空的构造方法 即super...

java通过类反射获取某个类的所有信息--代码实例【代码】

package huang.de.wei;import java.lang.annotation.Annotation; import java.lang.reflect.Constructor; import java.lang.reflect.Method;@SuppressWarnings(value="unchecked") @Deprecated public class ClassTest {//为这个类定义私有构造器private ClassTest(){}//定义一个有参数的构造器public ClassTest(String name){System.out.println("这是私有的构造器");}//定义一个无参数的info方法public void info(){System.out.p...