自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

goddreamyyh的博客

菜鸟起航

  • 博客(25)
  • 收藏
  • 关注

原创 Java学习 接口的简单使用

接口是对外暴露的规则,通过接口可以扩展程序更加方便。比如电脑的USB接口就是对外提供的规则,如果你想使某个设备能够连接电脑,那么只需要能够连接电脑对外提供的USB接口即可,比如鼠标键盘都可以通过连接USB接口来连接电脑interface USB                        //电脑对外提供的USB接口{ public abstract void open();        ...

2018-05-30 16:26:57 165

原创 Java学习 接口

当一个抽象类的方法都是抽象方法时,可以使用interface来代替抽象类的定义。比如一个方法全是抽象方法的抽象类abstract class Abstr{ public abstract void show(); public abstract void work(); public abstract void say();}可以这样写:interface Abstr{ public...

2018-05-29 21:48:53 113

原创 Java学习 抽象类

抽象类:含有抽象方法的类称为抽象类。抽象类需要被abstract修饰才行。抽象方法:被abstract修饰,只有声明的方法称为抽象方法,抽象方法必须放在抽象类中。抽象类不能被实例化,因为其中有的方法并没有实现,实例化没有意义。抽象类只有被继承才能发挥作用,当时其子类必须覆盖抽象类的所有抽象方法。抽象类虽然不能实例化,但是抽象类有构造函数 ,是为了其子类创建对象时调用。另外private stati...

2018-05-29 20:18:55 91

原创 Java学习 final关键字

我们前面学到了继承能够很好的提高代码复用性,可是同时也带来了一些隐患,破坏了封装性。比如,如果一个类的的成员函数调用了一些系统函数,而这个类被其他类继承并且函数被覆盖,那么系统函数就无用了,所以在这里我们能感觉出,这个类不想被继承。这时候我们就需要使用final来修饰这个类。如果我们一个类中只是一些函数需要被修改,那么我们可以使用final修饰那些不想被覆盖的函数,那样这些函数将不会被覆盖同样,f...

2018-05-25 22:03:39 66

原创 Java学习 继承之子类实例化

class A{ A() { System.out.println("父类无参"); show();                    //注意这里 调用的是子类的show() } public void show() { System.out.println("父类..."); } }class B extends A{ int num = 3;...

2018-05-25 21:04:18 458

原创 Java学习 继承之子类父类的构造函数

class A{ int num = 2; A() { System.out.println("父类"); } }class B extends A{ int num = 3; B() {                                 //子类构造函数这里默认有条隐式语句 super() System.out.println("子类");...

2018-05-25 14:12:42 245

原创 Java学习 继承之重载与覆盖

继承中,如果想访问父类中的成员,可以使用super关键字,与this的用法很相似但是有一点不同this可以指代对象,super不能指代对象,super代表着父类空间。class A{ int num = 12;}class B extends A{ int num = 13; public void show() { System.out.println(this.num+" ...

2018-05-25 13:49:17 128

原创 Java学习 单例设计模式

设计模式:是对问题行之有效的方法,是一种思想。单例模式: 在其所解决的问题中,一个类中只有一个对象存在。这一个对象好比是一个共同数据,多个程序操作的其实这一个对象。Q1:如何保证对象唯一性?1.   不允许其他程序new一个对象2.在这个类中就已经存在一个对象3.通过方法来让其他程序来获取这唯一的对象Q2:操作步骤?1.私有化构造函数2.在本类中创建一个对象3.通过方法来返回这个对象class S...

2018-05-24 20:37:31 83

原创 Java学习 set classpath的小结

我们知道javac命令在编译的时候查找类是按照classpath的路径去寻找,如果找不到,就在当前路径下寻找,如果还是找不到,就会报错。我们可以使用set classpath来查看我们的路径是什么这其中有三个路径,第一个是‘.’就是当前路径,后两个都是系统类包路径如果我们临时需要设置一个路径,我们可以开启一个命令行窗口使用set classpath = 路径名就修改了。如果我们只是想在原有路径基础...

2018-05-24 13:52:15 5156

原创 Java学习 文档注释

所操作的类必须是共有的才能进行文档注释javadoc只能对public修饰或protect修饰函数方法进行提取注释因为我们文档注释是为了让用户看到函数方法的使用,而我们之所以给一些函数private权限就是为了将细节隐藏起来,所以文档注释不对private的函数方法进行提取注释。/**这就是文档注释!悠悠华*/文档注释的内容很多,我们现在只需要几个基础的@author  这是注明类的作者@v...

2018-05-24 13:34:47 126

原创 Java学习 静态工具类的使用

如果我们想对一些数据进行操作,我们最好是将操作所用的函数集成封装起来,单独放在一个类中。因为我们只需要使用这些方法函数,所以我们可以将所有的函数写成是静态的,这样我们可以不用创建对象而直接可以使用类名来调用这些方法。但我们是可以不创建对象,但对象是可以创建的,为避免这种不必要的麻烦,我们希望我们这个类不能创建对象,只是作为一个工具类。我们都知道,创建对象需要调用构造函数。那我们禁止调用构造函数,那...

2018-05-24 09:16:54 1302

原创 Java学习 静态代码块和构造代码块

class Person{ private int age; private String name; static private int eyes = 2; static { System.out.println("这是静态代码块"); } Person(int age,String name) { ...

2018-05-22 16:03:36 103

原创 Java学习 static之内存图

class Person{ private int age; private String name; static private int eyes = 2;    //静态成员 Person(int age,String name)    //构造函数 { this.age = age; this.name = name; } public void pri...

2018-05-22 14:15:41 525

原创 Java学习 static之主函数main

main函数作为我们初学的时候最特殊的一个函数,需要好好梳理了解一下。首先,main函数的格式是固定的其次,主函数是被java虚拟机识别并调用的。public:作为整个程序的入口,权限需哟是最大的static:main函数需要是静态的,因为虚拟机调用的时候不需要创建和调用对象了void:主函数不需要返回值main:main并不是关键字,只是一个普通函数,但这个函数是被java虚拟机识别的。Stri...

2018-05-22 11:45:32 643

原创 java学习 static的使用

当我们创建的所有对象的某一属性都是一样的,我们就没有必要将这个属性放在每个对象中而浪费空间。譬如:创建Person类的时候,每个类都有一对眼睛一张嘴,如果创建对象,那么每个对象空间都多了这两个属性,这本该可以更加精简一点。引进static关键字将这些共有的成员作为类所属的,那么只需要保存一份就可以,极大节省空间。其中对于static表示的静态属性eclipse提醒我们所以应该这样...

2018-05-22 11:45:18 217

原创 java学习 this使用补充

this还可以在构造函数中调用其他构造函数,但是this调用语句必须在构造函数中是第一句,如图所示:

2018-05-20 10:52:29 71

原创 java学习 this的使用

this:代表对象。确切的说是  this 代表调用this所在函数的对象。class Person{ private int age;                //私有两个成员变量 private String name; Person(int age,String name)        //带参构造函数 { this.age = age;           ...

2018-05-16 17:18:58 140

原创 java学习 二维数组内存图

2018-05-15 08:27:24 557

原创 java学习 数组折半查找

我们如果想在数组中找到某个我们想要的值,很好想到 我们遍历整个数组 如果遍历的数组值与我们想要的值相等就返回此数组元素的下标。public static int search(int[] arr,int key) //普通查找 数组有序无序均可 { for(int x = 0;x<arr.length;x++) //遍历整个数组 { if(arr[x] =...

2018-05-14 19:52:01 398

原创 java学习 选择排序的优化

之前学到的选择排序(博客前篇)是第一个无序元素与其他元素依次比较,其中每次比较存在前面元素大于后面元素就交换。这样在堆内存中交换的次数就比较频繁,但其实一轮过后是找到最小元素与无序区第一个元素交换。new:我们大可在内存建立两个变量来存储每次比较的较小值和较小值的下标,每次比较就刷新。public static void selectSort(int[] arr)         //未优化的选...

2018-05-14 08:45:07 676 1

原创 java学习 数组的排序 选择排序 冒泡排序

选择排序:        

2018-05-13 21:13:26 104

原创 java学习 数组基本操作 求极值

public class Test{ public static void main(String[] args) { int[] array = {12,34,5,6,89,2,345}; System.out.println(getMax(array)); System.out.println(getMax2(array)); } public static...

2018-05-12 21:54:41 1876

原创 java学习 运算符 琐碎 short

一直认为 a+=2 与a = a+ 2是一样的但是第一种编译不通过,而第二种正常。与byte一样 java默认整型是int,short a = 2 ,将2中砍掉两个字节 转换成short 这是由计算机检测认为可以的。而a = a + 2同样的a是变量,对于a的值并不确定,为了安全 系统不准通过。至于a+=2是一步执行,系统底层帮助我们检测并转化为short好比a = short(a + 2)...

2018-05-11 19:23:52 201

原创 java学习 自增运算符 琐碎

1.int a=2;int b = a++;System.out.println(b);2.int a = 2;int b = ++a;System.out.println(b);3.int a = 2;a = a++;System.out.println(a);熟知的自增运算符a++:我们说是先赋值,再增加++a:我们说是先增加,再赋值这个口诀从大一时c语言老师就教导我们...

2018-05-11 17:08:45 124

原创 java学习 类型运算 琐碎

class Test{public static void main(String[] args){ byte b = 4; byte b1 = 3; byte b2 = 7; b = b1 + b2; System.out.println(b);}}编译时出错,提示不能将int转化为byte首先需要明白 byte b = 4;计算机是如何处理的。...

2018-05-11 15:50:22 172

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除