java
Where-
这个作者很懒,什么都没留下…
展开
-
在cmd命令行窗口中运行带有外部依赖包的java程序
所需运行程序为A.java,该程序放在包b中,且该程序依赖于jar包c编译:在包b所在的文件夹中使用: java -cp jar包c的绝对路径; A.java 上面命令中的;可加可不加,没有;时直接用空格分割c的绝对路径和A.java即可。但是如果使用;时,;后面一定要加空格。运行包b的上级目录中使用:java -cp jar包的绝对路径; b.A 所需参数运行时必须得添加分号,且;后一定需要空格。所需参数使用空格分隔。示例需要运行的程序为SortCompare.java, 该程序依原创 2020-11-21 12:04:38 · 821 阅读 · 0 评论 -
字节流和字符流
二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的比如音频、视频、图片等)文本文件的复制既可以使用字符流也可以使用字节流即字节流可以复制任何形式的文件,而字符流只能复制文本文件/* * 分别使用字符流和字节流复制图片,结果表明 * 通过字符流复制的图片无法打开,而字节流复制的可以 */public class CopyImage { public static void main(String[] args) throws IOException{ //meth原创 2020-07-16 19:51:28 · 144 阅读 · 0 评论 -
Map的两种遍历方式
/* *第一种遍历方法: 首先,获取所有的key,遍历每个key对应的value *第二种遍历方法,通过EntrySet方法获取key和value */public class MapDemo2 { public static void main(String[] args) { //iterator_method1(); iterator_method2(); } private static void iterator_method2() { Map<String,St原创 2020-07-13 21:49:01 · 511 阅读 · 0 评论 -
Collection和Collections的区别,Object和Objects的区别
Collection是集合体系的最顶层,包含了集合体系的共性Collections是一个工具类,不需要也不能创建对象,其构造对象是private修饰的,其方法都是static修饰的。该工具类的方法用于操作Collection。原创 2020-07-23 20:46:35 · 631 阅读 · 0 评论 -
java HashSet可添加重复元素的原因
public class HashSetDemo { public static void main(String[] args) { HashSet<Student> hs = new HashSet<>(); Student s1 = new Student("zhangsan",11); Student s2 = new Student("lisi",13); Student s3 = new Student("zhangsan",17); h原创 2020-07-12 23:25:49 · 2228 阅读 · 1 评论 -
集合的遍历方式
1.toArray()可以把集合转换成数组,然后遍历数组即可public class IteratorDemo { public static void main(String[] args) { //创建集合对象 method(); } private static void method() { Collection c = new ArrayList<>(); //添加元素 c.add("hello"); c.add("world"); c.add(原创 2020-07-11 20:09:01 · 202 阅读 · 0 评论 -
多态定义,成员特点,向上转型和向下转型
多态的前提:1.子父类的继承关系2.方法的重写3.父类引用指向子类对象此时调用方法时,调用的式子类的方法,因为动态绑定动态绑定:运行期间调用的方法是根据其具体的类型编译期间多态的成员特点成员变量:编译时看的是左边(即父类型),运行时看的也是左边,因为变量没有重写的概念,也就没有动态绑定成员方法:编译时看的是左边,运行时看右边(子类型)静态方法: 使用变量调用静态方法,相当于用变量的类名调用,因此编译时看左边,运行时看的也是左边。编译时看的都是左边,运行时成员方法看左边,成员变量和静态方原创 2020-07-11 18:04:53 · 137 阅读 · 0 评论 -
匿名对象和final关键字的定义
定义: 没有变量引用的对象//假设已经有一个定义的学生类Student//一般创建对象的方法为Student s = new Student();//而匿名对象为new Student();匿名对象的使用场景:1.当方法只调用一次的时候可以使用匿名对象,因为多次调用方法时,会多次调用方法,就会创建多次对象。注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义。2.可以作为参数进行传递,但是无法在传参之前做其他的事情。new Student().age = 18;System.ou原创 2020-07-11 17:02:18 · 120 阅读 · 0 评论 -
接口及其优点,接口与继承,接口间的关系
1.接口中的所有方法都是抽象方法,而抽象类中的方法不一定全是抽象的2.接口和类的关系是实现为什么继承是单继承,而接口可以多实现因为如果要继承的两个类中有同名方法,但方法实现不同,难以分清楚要继承的是哪个方法;但是对于接口来说,都只是给出方法定义,即使有同名方法,只要实现一次就可以。接口与接口之间的关系是继承(可多继承)而非实现。因为如果是实现的话,接口中都是抽象方法,没办法实现它所想要实现的那个接口中的抽象方法。另外,如果接口B继承了接口A,那么类C在实现接口B时,既要实现B中的方法,也要实现A中原创 2020-07-11 16:15:13 · 1418 阅读 · 0 评论 -
继承的优缺点
优点:1.提高了代码的复用性2.提高了代码的可维护性缺点:类的耦合性增强开发的原则:高内聚低耦合内聚:就是自己完成某件事的能力耦合:类与类的关系原创 2020-07-11 11:01:50 · 365 阅读 · 0 评论 -
static关键字
1.用于修饰成员变量和成员方法2.static所修饰的成员的特点(1)该成员被所有对象所共享(2)可以使用类名调用静态的加载优先于对象,随着类的加载而加载到内存的方法区中3.静态方法和非静态方法的调用(1)静态方法可以调用静态的成员变量(2)静态方法可以调用静态的成员方法(3)静态方法不能调用非静态成员和非静态方法(因为静态的加载优先于对象…)(4)非静态方法可以调用静态成员变量和静态成员方法,也可以调用非静态成员变量和非静态成员方法4.静态方法中没有this对象...原创 2020-07-09 22:59:42 · 139 阅读 · 0 评论 -
封装的概述和好处
封装概述:1.封装是面向对象的三大特征(封装、继承、多态)之一2.封装是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界无法直接操作和修改。封装原则:1.将不需要对外提供的内容都隐藏起来2.把属性隐藏,提供公共方法对其访问即成员变量private,提供对应的getxxx()/setxxx()方法好处:1.通过方法来控制成员变量的操作,提高了代码的安全性2.把代码用方法进行封装,提高了代码的复用性...原创 2020-07-08 23:53:47 · 1725 阅读 · 0 评论 -
成员变量和局部变量的区别
1.在类中的位置不同成员变量:类中,方法外局部变量:方法中或者方法声明上(形式参数)2.在内存中的位置不同成员变量:堆内存局部变量:栈内存3.生命周期不同成员变量:随着对象的创建而存在,随着对象的消失而消失局部变量:随着方法的调用而存在,随着方法的调用完毕而消失4.初始化值不同成员变量:有默认值局部变量:没有默认值,必须先定义、赋值,最后使用...原创 2020-07-08 23:31:50 · 2737 阅读 · 0 评论 -
java 多线程中同步方法的说明
同步方法需有关键字synchronized修饰和同步代码块一样,同步方法也必须有锁对象需注意区分是:非静态同步方法的锁对象是this静态同步方法的锁对象是当前类的字节码对象原创 2020-07-08 21:56:08 · 116 阅读 · 0 评论