java学习
文章平均质量分 60
rolic_
这个作者很懒,什么都没留下…
展开
-
super关键字详解1
package test5;/*super父类中的name,父类中的m1super是用在子类中还是主函数中?主函数没有继承关系,不能用super,因为并没有父类和子类关系存在,所以只能用在子类中1、super不是引用类型,super中存储不是内存地址,指向的不是父类对象,super代表的是子类对象中的父类型特征2、什么时候使用super? 子类和父类都有某个数据,例如子类和父类中都有name这个属...原创 2018-05-02 10:28:36 · 162 阅读 · 0 评论 -
如何接受用户的键盘输入
/*如何接受用户的键盘输入import java.util.Scanner//程序执行到此,停下来,等待用户的输入scanner s=new Scanner(System.in);String userinput=s.next();*/原创 2018-05-09 14:17:30 · 2451 阅读 · 0 评论 -
用数组模拟栈数据结构1
/* 栈先进后出*/public class fuck8{ public static void main(String[] args){ //创建对象来访问成员方法 Stack s=new Stack(); //创建对象对其赋值 user u1=new user("jack",12); user u2=new user("hah",14); user u3=new use...原创 2018-05-09 15:02:02 · 396 阅读 · 0 评论 -
用数组模拟栈数据结构--异常处理情况
/* 栈先进后出*/public class fuck8{ public static void main(String[] args){ //创建对象来访问成员方法 Stack s=new Stack(); //创建对象对其赋值 user u1=new user("jack",12); user u2=new user("hah",14); user u3=new use...原创 2018-05-09 15:23:59 · 180 阅读 · 0 评论 -
冒泡排序详解
/* 冒泡排序:就是从大到小输出,排序问题 c语言是通过for循环整组比较*/public class fuck9{ public static void main(String[] args){ int[] a={3,1,6,2,5}; //开始排序 for(int i=a.length-1;i>0;i--){ for(int j=0;j<i;j++){ ...原创 2018-05-09 16:05:09 · 139 阅读 · 0 评论 -
选择排序详解
/* 选择排序,跟冒泡排序不同,选择排序记录最小值的下标 确定下标后直接进行元素交换,而不是在循环中频繁的进行元素交换*/public class fuck10{ public static void main(String[] args){ //定义一个数组 int[] a={3,1,2,6,5}; for(int i=0;i<a.length-1;i++){ ...原创 2018-05-09 16:57:06 · 144 阅读 · 0 评论 -
二分法查找详解
/* 二分法查找,中间值若小于,则首元素换成中间元素的下一位 为什么不换成中间元素? 因为其实在比较中间元素的时候,已经进行了比较,没必要再进行第二次比较 基本上都是采用测试类加功能实现类的样式 1.是建立在已经排序的基础上的 2.以下程序分析从小到大 3.这个数组中没有重复的元素*/public class fuck11{ public static void...原创 2018-05-10 09:13:16 · 352 阅读 · 0 评论 -
数组Arrays工具类
/* Array是sun提供的一个工具 java.util,Arrays; 该工具主要针对的是数组的操作:排序,二分查找*/import java.util.Arrays;public class fuck12{ public static void main(String[] args){ int[] a={3,1,6,2,5}; //调用Arrays的sort方...原创 2018-05-10 09:58:01 · 185 阅读 · 0 评论 -
常用类String类详解
/* String是不可变类,String对象一旦声明后不可改变 java.lang.String是字符串类型 1.字符串一旦创建不可再改变,"abc"字符串对象一旦创建,不可在改变成"abcd" 2.提升字符串的访问效率,在程序中使用了"缓存"技术,所有在java中使用双引号 的字符串都会在"字符串常量池"中创建一份,字符串常量池在方法区中被存储 3.在程序执行过程...原创 2018-05-10 10:44:47 · 166 阅读 · 0 评论 -
String类详解2
/* 分析以下程序创建字符串对象的区别: 1.String s1="abc";只会在字符串常量池中创建一个"abc"字符串对象 2.String s2=new String("abc");会在字符串常量池中创建一个"abc"对象 并且会在堆中再创建一个字符串对象 第二种方式比较浪费内容,常用的是第一种方式*/String s1="abc";String s2=new St...原创 2018-05-10 10:56:09 · 116 阅读 · 0 评论 -
单例模式
package test6;/* * 单例模式要领: * 1构造方法私有化 * 2对外提供一个公开的静态的获取当前类型对象的方法 * 3提供一个当前类型的静态变量 */public class test6 { public static void main(String[] args) { singleton s1=singleton.geInstance(); singlet...原创 2018-05-04 09:20:18 · 103 阅读 · 0 评论 -
super关键字详解2
package test7;//super关键字详解2/* * super关键字用在构造方法中: * 语法:super(实参) * 作用:通过子类的构造方法去调用父类的构造方法 * * 语法规则:一个构造方法的第一行如果没有this(``),也没有显示的去调用super() * 系统会默认调用super() * * super的调用只能放在构造方法的第一行 * super和this不能...原创 2018-05-04 10:21:47 · 117 阅读 · 0 评论 -
final关键字详解
package test8;/* final class a{} * class b extends a{} //final修饰的类 无法被继承 * * class a{ //final修饰的方法无法被覆盖 * public final void m1(){} * * } * class b{ * public void m1(){} * } * *...原创 2018-05-04 13:32:16 · 102 阅读 · 0 评论 -
抽象类详解
package test9;/* * 1.如何定义抽象类? * class关键字前加abstract * 2.抽象类无法被实例化,也就是无法创建对象 * 3.虽然抽象类没有办法实例化,但抽象类也有构造方法,该构造方法是给子类创建对象用的,一般会用到继承和多态 * 4.抽象类可以定义抽象方法: * 抽象方法的语法:在方法的修饰符列表中添加abstract关键字,并且抽象方法应该以;结束,而不...原创 2018-05-04 14:05:57 · 347 阅读 · 1 评论 -
深入了解final
package test10;/* * 1.抽象类不能被final修饰 * 2.抽象方法不能被final修饰 * 3.final修饰的引用类型,该引用不可再重新指向其他的java对象 * 但是final修饰的引用,该引用指向的java对象的属性是可以修改的 */public class test10 { public static void main(String[] args) { fina...原创 2018-05-04 15:58:44 · 120 阅读 · 0 评论 -
String详解 创建字符串
/* 字符串常用构造方法*/public class fuck2{ public static void main(String[] args){ //1 String s1="abc"; //2 String s2=new String ("abc"); //3 byte[] bytes={97,98,99,100}; String s3=new String(byt...原创 2018-05-11 09:30:09 · 245 阅读 · 0 评论 -
字符串常用方法
/* 字符串常用方法*/public class fuck3{ public static void main(String[] args){ //1 char charAt(int index); //输出字符串指定下标的字符 String s1="我是曹柔莉,我是好人"; char c1=s1.charAt(2); System.out.println(c1); //2...原创 2018-05-11 10:43:03 · 139 阅读 · 0 评论 -
接口的作用2
/*接口作用: 1.可以使项目分层,所有层都面向接口开发,开发效率提高 2.项目变得可插拔,使代码和代码之间的耦合度降低,可以随意切换*/public class test1 { public static void main(String[] args) { //面向接口去调用他 qa q=new qa(); q.q1(); System.out.println("````")...原创 2018-05-04 19:31:29 · 93 阅读 · 0 评论 -
接口详解3
//接口就是提前定义好的一套协议,一套标准interface Engine{ void start();}class Yamaha implements Engine{ public void start(){ System.out.println("yamaha work"); }}class Honda implements Engine{ public void start()...转载 2018-05-04 22:15:09 · 116 阅读 · 0 评论 -
正则表达式
/* 正则表达式 1.正则表达式是一门独立的学科 2.正则表达式是一种字符模型,专门做字符串格式匹配 3.正则表达式是通用的 例如:正则表达式"^a[2]$" 表示两个a字符,等同于"aa" \d 数字 \D 非数字 \w 英文字母 \W 非英文字母*/public class fuck4{ public static voi...原创 2018-05-11 15:25:42 · 96 阅读 · 0 评论 -
toString方法详解
/* sun在object类中设计toString方法的目的,返回java对象的字符串表示形式对象在控制台上用字符串表示的话,显示字符串的话用toString方法在现实的开发过程中,Object中的toString方法已经不够用了因为Object里的toString方法实现的结果不满意Object里的toString方法就是要被重写的,其他很多方法也是要被重写的sun里面是这样实现toStri...原创 2018-05-04 23:18:00 · 8205 阅读 · 4 评论 -
equals方法详解
/* 关于Object里面的equals方法: public boolean equals (Object obj){ return (this==obj); } o1.equals(o2),o1是this,o2是obj ==两边如果是引用类型,则比较内存地址 java对象中的equals方法的设计目的:判断两个对象是否一样*/public class fuck2{...原创 2018-05-05 10:14:53 · 606 阅读 · 0 评论 -
hashCode方法
public class fuck5{ public static void main(String[] args){ //hashCode方法返回的是该对象的哈希码值 //java对象的内存地址经过哈希算法得到int类型的数值 fuck5 t=new fuck5(); System.out.println(t.hashCode());//366712642 } }...原创 2018-05-05 10:44:50 · 322 阅读 · 0 评论 -
StringBuffer和StringBuilder详解
/* java.lang.StringBuffer; java.lang.StringBuilder; 1.StringBuffer和StringBuilder是什么 是一个容量可以改变的字符串缓冲区 2.工作原理 预先在内存中申请一块空间,以容纳字符序列,如果预留的空间不够用 则进行自动扩容 3.String和StrigBuffer,StringBuilde...原创 2018-05-11 15:51:54 · 295 阅读 · 0 评论 -
package-import详解
/* 软件包机制: 1.为了解决类的命名冲突问题,在类名前加命名空间(包机制) 2.在java中使用package语句定义包(单包,复包) 3.package语句只能出现在.java源文件的第一行 4.package定义的格式,通常采用公司域名倒序方式 例:com.bjpowernode.oa.system 以上包含义:bjpowernode公司开发oa项目,system是oa项目...原创 2018-05-05 11:38:52 · 252 阅读 · 0 评论 -
访问控制权限详解
package com;/* 关于访问控制权限修饰符:修饰类,修饰方法,修饰变量 private 只能在本类中访问 public 可以在任何地方访问 protected大部分是给子类用的 protected 本类,同一个包下,不同包不行,不同包下的子类可以 缺省 本类,同一个包下,不同包不行,不同包下的子类不可以*/public class user{ protected Strin...原创 2018-05-05 14:43:38 · 1466 阅读 · 0 评论 -
静态内部类详解
/*内部类:在类的里面定义类 静态内部类 成员内部类 局部内部类 匿名内部类,属于局部内部类的一种 内部类的重要作用,可以访问外部类中私有的数据*//* 关于静态内部类: 1.静态内部类可以等同看做静态变量 2.静态内部类可以直接访问外部类的静态数据,无法直接访问成员*/public class fuck11{ //静态变量 private static String s...原创 2018-05-05 15:17:44 · 217 阅读 · 0 评论 -
成员内部类
/*成员内部类 1.成员内部类可以等同看做成员变量 2.成员内部类中不能有静态说明 3.成员内部类可以访问外部类中所有的数据*///访问内部类的m4方法fuck11 f=new fuck11();innerclass inner=f.new innerclass();inner.m4();...原创 2018-05-05 17:15:48 · 97 阅读 · 0 评论 -
局部内部类详解
/*局部内部类等同于局部变量 重点:局部内部类在访问局部变量的时候,局部变量必须使用final修饰*/class haha{ public void m1(){ final int i=10; //局部内部类 class innerclass{ //内部类不能有静态声明 //public static void m2(){} //成员方法 public...原创 2018-05-05 17:34:29 · 175 阅读 · 0 评论 -
匿名内部类详解
一个很酷的家伙,虽然看起来有点麻烦,but,it's still cool/*匿名内部类的优点:少定义一个类 缺点:无法重复使用*/public class fuck13{ //静态方法 public static void t(a a1){ a1.logout(); } public static void main(String[] args){ //t.(new ...原创 2018-05-05 17:56:30 · 125 阅读 · 0 评论 -
类和类之间的关系,is-a等等这些
/*泛化关系:类和类之间的继承关系及接口与接口之间的继承关系实现关系:一个类实现了一个接口关联关系:在当前类中含有其他类的引用,在当前对象中含有指向其他对象的引用关联关系:类与类之间的连接,一个类可以知道另一个类的属性和方法,在java语言中使用成员变量体现聚合关系:关联关系的一种 关联关系的类处在同一层次上,聚合关系一个代表整体,一个代表部分 在java语言中使用实例变量体现合成关系: 整...原创 2018-05-05 18:19:57 · 1110 阅读 · 0 评论 -
包装类详解
/* 形参是引用类型的话 不能传基本类型的实参 java中八种基本数据类型对应的包装类型 基本数据类型 包装类型 byte java.lang.Byte short java.lang.Short int java.lang.Integer long java.lang.Long float ...原创 2018-05-12 08:53:01 · 195 阅读 · 0 评论 -
Integer类详解
/* Integer int String 三种类型互相转换*/public class fuck7{ public static void main(String[] args){ //1.int--->Integer Integer i1=Integer.valueof(10); //2.Integer--->int //是Integer中的一个方法,不能通过传参...原创 2018-05-12 09:42:34 · 649 阅读 · 0 评论 -
自动装箱和自动拆箱
/* JDk5.0新特性: 以下的特性适合JDK1.5版本以后的,包括1.5 自动装箱(auto_boxing)和自动拆箱(auto_unboxing)是程序编译阶段的概念,和程序运行无关 主要目的是为了方便程序员的编码*/public class fuck8{ public static void main(String[] args){ //JDK 5.0以前 I...原创 2018-05-12 10:35:33 · 553 阅读 · 0 评论 -
SimpleDateFormat日期格式和Date格式和String类型的转换
/* 输出引用类型的数据就要调用Object中的toString方法 一般是输出内存地址,若不是内存地址,则说明调用该方法的方法已经把toString方法重写了 获取系统当前时间*/import java.util.Date;import java.text.SimpleDateFormat;public class fuck10{ public static void main(String...原创 2018-05-12 11:11:41 · 2547 阅读 · 0 评论 -
日历Calendar详解
/* simpleDateFormat,时间格式 currentTimeMillis 当前时间*/import java.util.Calendar;import java.util.Date;import java.text.*;public class fuck11{ public static void main(String[] args){ //返回一个日历格式的静态变量 Ca...原创 2018-05-12 14:30:05 · 1197 阅读 · 0 评论 -
Decimalformat和BigDecimal
/* 关于数字格式化:java.text.DecimalFomat 数字格式元素: # 任意数字 , 千分位 . 小数点 0 不够补0*/import java.text.DecimalFormat;public class fuck12{ public static void main(String[] args){ //需求1...原创 2018-05-12 15:04:59 · 1967 阅读 · 0 评论 -
Random生成随机数和生成五个不相同的随机数
/* 生成随机数,Random 更多地在代码中通过控制数组下标进行赋值修改等操作 而不是频繁采用for循环*/import java.util.Random;public class fuck14{ public static void main(String[] args){ //Random r=new Random(); //生成int类型的随机数 //生成[1,100...原创 2018-05-12 15:41:31 · 8512 阅读 · 1 评论 -
用java语言模拟单向链表和双向链表
/* 集合是一个容器,用来存储其他类型,只能存储引用类型 迭代就是遍历 Collection是可迭代的,所有的集合都是可迭代的 Collection中有iterator方法,说明所有的集合中都有iterator方法 这个方法返回一个iterator(),是一个迭代器,集合通过获取这个方法去遍历集合 在开发过程中都是面向接口的,没有去面向类 换句话说,就是面向抽象,没有面向具体*/...原创 2018-05-13 09:48:02 · 606 阅读 · 1 评论 -
java学习日记-类的继承
1、public class Test11 { public static void main(String[] args) { System.out.println("."); b b1=new b(); b1.m1(); b1.a();//子类不能继承父类的构造方法 }}class b extends a{ /...原创 2018-04-28 09:13:46 · 177 阅读 · 0 评论