JAVA 方法 技术教程文章

[转]java 为什么wait(),notify(),notifyAll()必须在同步方法/代码块中调用?

在 Java中,所有对象都能够被作为"监视器monitor"——指一个拥有一个独占锁,一个入口队列和一个等待队列的实体entity。  所有对象的非同步 方法都能够在任意时刻被任意线程调用,此时不需要考虑加锁的问题。  而对于对象的同步方法来说,在任意时刻有且仅有一个拥有该对象独占锁的线程能够调用它们。例如,一个同步方法是独占的。如果在线程调用某一对象的同步方法时,对象的独占锁被其他线程拥有,那么当前线程将处于阻塞状态...

java中方法的重写

前提:有子类继承父类子类继承父类后,若父类的方法对子类不适用,子类可以对父类的方法进行重写(override)重写的规则:要求子类方法的返回值类型、方法名、参数列表和父类的方法一样 子类方法的访问权限不能小于父类方法的访问权限 若父类的方法抛出异常,子类抛的异常类型不能大于父类的 子类和父类的方法必须同为static或非static的注意: 父类中private 修饰的方法...

学java教程之构造方法重载

学编程吧学编程学IT教程之java构造方法重载教程发布了,欢迎大家通过xuebiancheng8.com来访问。在前面分析过什么是构造方法,构造方法是实例化对象的时候执行的代码就是构造方法,用来完成对象的初始化,那么大家想想是不是在一个类中只能有一个构造方法呢,答案是否定的,一个类中可以有多个构造方法,这些构造方法之间就构成了方法的重载,下面我们来看看什么是构造方法重载。先看个例子:public class Person{ private int ...

java 构造器 (构造方法)

构造器 (constructor,构造方法) 3W what ? why? how? 是什么 , 为什么, 怎么用? 注意事项?What ? 是什么: 构造器(又叫构造方法)本身是一种特殊的方法,(但是和方法又没有什么大的关系,习惯上叫构造器,以免和方法混淆,)它只在新对象实例化的时候调用。Why ? 为什么用它: 为什么要用构造器 ,如果要实例化新的对象,需要使用关键字new 来完成,但是除了new这个关键字以外,还有可能在对象实例化时为其进行一些初始...

Java获取今天/昨天/前天的某个时间点的方法【代码】

开发时需要把如“今天 12:15” "昨天 21:21" "前天 03: 02"之类的String转换成Date,所以写了个方法,有更好的写法的话欢迎留言 1//获取今天、昨天、前天的某个时间的方法, 如"昨天 21:21" "前天 15:15" 2privatestatic Date getFormatDate(String updated) throws Exception{3if (updated.substring(0, 2).equals("今天")){4 String partOfDate = updated.substring(3);5 Calendar calendar = Calendar....

Java读取properties配置文件时,中文乱码解决方法【代码】

碰到了用java.util.Properties读取中文内容(UTF-8格式)的配置文件,发生中文乱码的现象Properties prop=new Properties(); prop.load(Client.class.getClassLoader().getResourceAsStream("config.properties")); 由于使用这样的加载方式使用了系统默认的编码格式,不是UTF-8格式的读取模式,就会发生乱码情况。正确解决方法Properties prop=new Properties(); prop.load(new InputStreamReader(Client.class...

Java抽象方法、抽象类以及接口【代码】【图】

1.抽象方法由于多态的存在,每个子类都可以覆写父类的方法。class Person {publicvoid run() { … } }class Student extends Person {@Overridepublicvoid run() { … } }class Teacher extends Person {@Overridepublicvoid run() { … } }从Person类派生的Student和Teacher都可以覆写run()方法。如果父类的方法本身不需要实现任何功能,仅仅是为了定义方法签名,目的是让子类覆写它,那么可以把父类的方法声明为抽象方法。class ...

Ubuntu中安装Eclipse Java EE的方法

先决条件,系统中已有JDK。Ubuntu内置了OpenJDK。Ubuntu软件库中的Eclipse居然是基础版,只有JDT和PDE,无法开发J2EE程序,这一点不及fedora,所以只能手工安装Eclipse Java EE版。1. 到eclipse.org下载适用于ubuntu的eclipse压缩包,对于32-bit系统,最新版的eclipse压缩包的文件名应该是eclipse-jee-kepler-SR1-Linux-gtk.tar.gz,下载的压缩包放在~/downloads目录下;2. 解压缩eclipse到/usr/share目录:进入终端窗口,输入命令...

java8 利用流给实体类去重方法【代码】

// 数据去重 利用原理 map去重 List noRepeatList = bookList.stream.filter(distinctByKey(Book::getName)).collect(Collectors.toList());`/*** 数据流去重方法* 如果多个参数,使用添加即可* @param keyExtractor* @param <T>* @return*/ public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {Map<Object,Boolean> seen = new ConcurrentHashMap<>();return t -> seen.putIfAbsent(keyExtracto...

Java基础知识强化90:Date类之Data类概述及其方法【代码】【图】

1. Date类概述类Date表示特定的瞬间,精确到毫秒 2. 构造方法public Date():根据当前默认毫秒值创建日期对象 public Date(long date):根据给定的毫秒值创建日期对象3. 成员方法publiclong getTime() publicvoid setTime(long time) 4. 代码示例: 1package cn.itcast_01;2 3import java.util.Date;4 5/* 6 * Date:表示特定的瞬间,精确到毫秒。 7 * 8 * 构造方法:9 * Date():根据当前的默认毫秒值创建日期对象 10 * ...

java基础:反射类的普通方法

原文:http://blog.csdn.net/u013628152/article/details/43085155

Java反射定义、获取Class三种方法【代码】

反射机制的定义:  在运行状态时(动态的),对于任意一个类,都能够得到这个类的所有属性和方法。             对于任意一个对象,都能够调用它的任意属性和方法。   Class类是反射机制的起源,我们得到Class类对象有3种方法:  第一种:通过类名获得  Class<?> class = ClassName.class;  第二种:通过类名全路径获得:  Class<?> class = Class.forName("类名全路径");  第三种:通过实例对象获得: ...

eclipse 运行错误:在类XXX中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application【图】

新建了一个类Hello:代码: 第一次运行报错: 点击关闭该类的界面时出现: 点击是,然后再次打开,可以正确执行,结果为: 这是为什么.... 原文:http://www.cnblogs.com/ssyh/p/7859790.html

JAVA 处理时间 - java.sql.Date、java.util.Date与数据库中的Date字段的转换方法[转]

1.如何将java.util.Date转化为java.sql.Date? 转化: java.sql.Date sd; java.util.Date ud; //initialize the ud such as ud = new java.util.Date(); sd = new java.sql.Date(ud.getTime()); 2.如何将获取到的java.sql.Date转换为年-月-日输出java.sql.Date sd;String dateTime = sd.toString(); 3.如果要插入到数据库并且相应的字段为Date类型 那么可以用PreparedStatement.setDate(int ,java.sql.Date)方...

java JNI 二维数组作为方法参数传递给本地

java里面有如下本地定义:private static native int setFilter(final int fd, final int[][] array_filter); c++中对应的函数如下:JNIEXPORT jint JNICALL Java_JniSocketCan_setFilter (JNIEnv *env, jclass obj, jint fd, jobjectArray array_filter){ struct can_filter *pFilter = NULL; jint filter_num = 0; jint column_num = 0; jint i; jintArray filter_tmp; jint mem_length = 0; filter_num =...

java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载【代码】

return关键字:1.使用范围:使用在方法体中2.作用:① 结束方法 * ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。3.注意点:return关键字后面不可以声明执行语句。方法的重载1.方法的重载的概念定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。 * 总结:"两同一不同":同一个类、相同方法名 参数列表不同:参数个数不同,参数类型不同2.构成...

java反射-Method中的invoke方法的用法-以及函数式接口和lambda表达式【代码】

作者最近研究框架底层代码过程中感觉自己基础不太牢固,于是写了一点案例,以防日后忘记 接口类:Animals1publicinterface Animals { 23publicvoid eat(); 4 }package cn.chenc.study.entity;publicinterface InterfaceFactory {public String show(int i);} 实体类:Personpackage cn.chenc.study.entity;import java.lang.reflect.Proxy;publicclass Person implements Animals {private String name;privateint age;public Pe...

Java8接口中的默认方法【代码】

Java8新增特性,可以为接口中添加默认方法,实现这个接口的所有类都会继承这个方法,这样看起来,接口和类的界限就有点不明显了,同时也会带来多继承,菱形问题。这样设计的初衷是什么?  重所周知,java8开始支持lambda表达式,可以把函数当做参数传递,最明显的lambda表达式应用场景莫过于对collection的每一个元素应用lambda。如果想为Collection实现lambda表达式:list.forEach(…); // 这就是lambda代码  首先想到的是为C...

Java中构造方法、实例方法、类方法的区别

1. 构造方法 构造方法负责对象的初始化工作,为实例变量赋予合适的初始值。必须满足以下的语法规则: 方法名与类名相同;不要返回类型(例如return、void等);不能被static、final、native、abstract和synchronized修饰,不能被子类继承。 例如以下例子: [java] view plain copy <span style="font-family:‘Microsoft YaHei‘; font-size:10px">public class Sample{ private in x; public Sample(){ ...

java中md5加密方法

package com.func;import java.io.UnsupportedEncodingException;import java.math.BigInteger;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class Md5 { public static String getMd5(String plainText) { try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(plainText.getBytes()); byte b[] = md.digest(); int i; StringBuffer buf = new String...