Java 基础
HawkJony
擅长:连续普通拳
展开
-
Java基础之自增运算符++和--的误区
"++"是C和C++里的自增运算符.其中:++i是使用i之前先使i加一.i++是使用i之后再加一.如果不能理解,那么可以理解为++i是先计算,再操作i++是先操作,再计算想必很多的书籍里都会这样解释。比如下面的例子是常见的:int a = 1;b = a++;问最终a和b是多少?毫无疑问,答案是a = 2,原创 2016-10-16 20:54:52 · 1165 阅读 · 0 评论 -
java之二维数组的初始化
二维数组的格式:二维数组的内存图:二维数组的例子:原创 2016-11-23 20:41:26 · 1753 阅读 · 0 评论 -
java之匿名对象的用法
匿名对象:没有名字的对象:new Car(); //匿名对象其实就是定义对象的简写格式。Car c = new Car();c.run();用匿名对象来书写以上代码:new Car().run();匿名对象的使用方法:1 当对象对方法仅进行一次调用的时候,就可以简化成匿名对象。如一个 对象需要进行调用方法2次,用匿名对象的new Car().r原创 2016-11-23 08:24:45 · 27961 阅读 · 4 评论 -
java之成员变量和局部变量的区别
成员变量和局部函数的区别:1成员变量定义在类中,整个类中都可以访问。局部变量定义在函数中,语句,局部代码块中,只在所属的区域有效。2成员变量存在于堆内存的对象中。局部变量存在于栈内存的方法中。3成员变量随着对象的创建而存在,随着对象的消失而消失。局部变量随着所属区域的执行而存在,随着所属区域的结束而释放。4成员变量都有默认初始化值。局部变量没原创 2016-11-22 08:44:37 · 404 阅读 · 0 评论 -
java之面向对象:继承extends、super、覆盖override的用法
继承的好处:1 )提高了代码的复用性。2 )让类与类之间产生了关系,给第三个特征多态提供 了前提。java支持单继承,不直接支持多继承,但对C++中的多继承机制进行改良。单继承:一个子类只能有一个直接父类。class A{}class B{ }class C extends A //单继承{ }多继承:一个子类可以有多个直接各类(java中不允许原创 2016-11-26 14:57:08 · 4484 阅读 · 0 评论 -
java之面向对象:子类对象的实例化过程详解
在子类构造函数中,发现,访问子类构造函数时,父类也运行了。原因是什么呢?在子类的构造函数里第一行有一个默认的隐式语句:super()ExtendsDemo.javaclass Fu{ Fu() { System.out.println("fu run"); }}class Zi extends Fu{ Zi() { //super(); //调用的是原创 2016-11-26 18:38:11 · 9243 阅读 · 1 评论 -
java之final关键字
我们知道继承是有弊端的:打破了封装性,子类继承父类,并覆盖父类的函数,修改了这个函数的功能。final的用法:final可以修饰类,方法,变量。final修饰的类不可以被继承。final修饰的方法不可以被覆盖。final修饰的变量是一个常量,只能被赋值一次。内部类只能访问被final修饰的局部变量。 public static final double =原创 2016-11-28 08:35:27 · 253 阅读 · 0 评论 -
java之抽象类:abstract
抽象类:用abstract声明的类就是抽象类抽象类的特点:1、方法只有声明没有实现时候,该方法就是抽象方法,需要被abstract修饰。抽象方法必须定义在抽象类中,该类必须被abstract的修饰。2、抽象类不能被实例化,为什么?因为调用抽象方法没有意义。3、抽象类必须有其子类覆盖了所有的抽象方法后,该子类才可以实例化。否则这个子类还是抽象类。抽象类常见问题:1、抽象类原创 2016-11-28 08:39:49 · 544 阅读 · 0 评论 -
java之单例设计模式
单例模式可以确保内存中只有一份数据。它可以实现数据共享,比如A程序需要用到一个配置文件,B程序也要用到一个配置文件,现在有个需求:A程序如果修改了这个配置文件,B程序需要知道更新过后的这个配置文件原创 2016-11-25 16:20:56 · 332 阅读 · 0 评论 -
java之接口:interface
接口的引入:比如抽象类中都是抽象方法,abstract class AbsDemo{ abstract void show1(); abstract void show2();}当一个抽象类的方法都是抽象类的时候,这时可以将抽象类用另外一种形式定义和表示,就是接口 interface。定义接口的关键字不是class,而是interface。对于接口当中常原创 2016-11-28 11:47:20 · 697 阅读 · 0 评论 -
Java之构造函数
构造函数:构建创造对象时调用的函数。特点:1函数名和类名相同2不用定义返回值类型 例如Person类中 void Person() 不是构造函数3没有具体的返回值作用:给对象进行初始化注意:1多个构造函数是以重载的形式存在的。2一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。如果在类中定义了指定的构造函数,那么类中的默认构造函数就原创 2016-11-24 08:30:01 · 492 阅读 · 0 评论 -
Java之主函数——main函数
main函数特殊之处:1 格式是固定的。2 被jvm所识别和调用。main函数关键字分析:对于 public static void main(String[] args)public: 因为权限必须是最大的。static: 不需要对象,直接用主函数所属类名调用即可。void: 主函数没有具体的返回值。main:函数名,不是关键字,只是一个jvm识别的固定的原创 2016-11-24 20:52:44 · 115126 阅读 · 3 评论 -
java之接口和抽象类的区别
抽象类和接口的异同点:相同点:原创 2016-11-28 12:54:09 · 382 阅读 · 0 评论 -
java之多态
定义:某一类事物的多种存在形态。例如:动物中猫,狗。class 动物{}class 猫 extends 动物{}class 狗 extends 动物{}猫 mao = new 猫();动物 x = new 猫(); //一个对象,两种形态猫这类食物既具备着猫的形态,又具备着动物的形态。简单说,就是一个对象对应着不同类型。多态在代码中的体现:原创 2016-11-29 08:51:36 · 446 阅读 · 0 评论 -
Java之Instance关键字
abstract class Animal{ abstract void eat();}class Dog extends Animal{ void eat() { System.out.println("啃骨头"); } void lookHome() { System.out.println("看家"); }}class Cat extends Animal原创 2016-12-04 21:37:18 · 9323 阅读 · 1 评论 -
Java面向对象之封装
封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式封装的优点:将变化隔离便于使用提高重用性提高安全性封装原则:将不需要对外提供的内容都隐藏起来把属性都隐藏,提供公共方法对其访问。private;私有,是一个权限修饰符,用于修饰成员(成员变量和成员函数),私有的内容只在本类中有效。常用之一:将成员变量私有化,对外提供相应的set,get原创 2016-11-23 08:39:24 · 339 阅读 · 0 评论 -
Java之this的用法
this关键字:this代表其所在函数所属对象的引用。换言之:this代表当前本类对象的引用。简单说,哪个对象调用了this所在的函数,this就代表哪个对象。什么时候用this关键字?当在函数内需要调用该函数的对象时候,就要this。①当成员变量和局部变量重名时候,可以用关键字进行区分。下面看一个例子:class Person{ private int a原创 2016-11-24 09:03:54 · 572 阅读 · 0 评论 -
Java之static关键字
静态变量的特点:1 static是个修饰符,用于修饰成员。2 被static修饰的成员被所有的对象所共享。3 static优先于对象存在,因为static的成员随着类的加载就已经存在了。4 static修饰的成员多了一种调用方式,可以直接被类名所调用。(类型 . 静态成员)。5 static修饰的数据是共享数据,对象中的存储的是特有数据。成员变量和静态变量的区别:1 两原创 2016-11-24 20:41:35 · 372 阅读 · 0 评论 -
Java之静态代码块
静态代码块特点:随着类的加载而执行。而且只执行一次。静态代码块的作用:1 用于给类初始化。(有些类不需要创建对象就要使用内容的)2 如果类里面全是静态成员,则完成初始化需要静态代码块。静态代码块的例子:class StaticCode{ static //静态代码块 { System.out.println("hawk"); } void show()原创 2016-11-24 21:06:47 · 556 阅读 · 0 评论 -
Java之构造代码块
构造代码块:是提供给一个类创建对象的时候,对对象进行通用的初始化,它与静态代码块不同的是,构造代码块只有当创建了对象,才会调用构造代码块。class Person{ { //构造代码块,可以给所有对象进行初始化,是给对象进行通用的初始化。 //创建几个对象就调用几次。 System.out.prinln("person run"); } private St原创 2016-11-24 21:20:59 · 361 阅读 · 0 评论 -
Java之利用javadoc生成注释文档
Java里面可以使用javadoc.exe(与javac.exe 和java.exe在同一个目录下)生成代码的注释文档。这是java特有的小工具。举个小例子:Demo.java/**建立一个用于操作数组的工具类,其中包含着常见的对数组操作的函数如:最值,排序等。@author 张三@version v1.0*/public class ArrayTool{ //该类中的原创 2016-11-25 15:04:20 · 4677 阅读 · 0 评论 -
java之多态调用成员变量,成员函数,静态函数的特点
子类和父类之间存在多态时,我们来探讨一下编译和运行时候调用的特点:先上代码:class Fu{ int num = 3; void show() { System.out.println("fu show"); } static void method() { System.out.println("fu static method"); }}class Zi原创 2016-12-22 14:07:00 · 2978 阅读 · 0 评论