Java
共同进步
Mr_Pmc
进阶
展开
-
Java 打印质数 goto思想应用
public class Test {public static void mian(String[] args){ int s6=0;//计数器res: for(int i9=1;i9for(int i10=2;i10if(i9%i10==0){//如果其中有一个数值能被2到数值-1的范围除尽则跳到res标签继续执行continue res;}} System原创 2017-10-28 16:45:15 · 183 阅读 · 0 评论 -
Java this隐式参数
普通方法中,this总是指向调用该方法的对象。构造方法中,this总是指向正要初始化的对象。this不能用于static方法!(this指向当前对象,static方法跟对象没有一毛钱的关系)this 常用方法: 1. 让类中的一个方法,访问该类的另一个方法或属性。 2. 使用this关键字调用重载构造方法。避免相同的初始化代码,只能在构造方法中用,并且原创 2017-11-02 20:15:46 · 405 阅读 · 0 评论 -
Java super隐式参数
super是直接父类对象的引用。可以通过super来访问父类中被子类覆盖的方法或属性。普通方法:没有顺序限制,可以随便调用。1. 子类的构造函数如果要引用super的话,必须把super放在函数的首位.12345678910111213141516class Base {原创 2017-11-05 19:34:29 · 365 阅读 · 0 评论 -
Java 组合
public class TestComBination {String name;public void run(){System.out.println("跑跑!");}public static void main(String[] args){Test s1=new Test();s1.TestComBination.run();s1.TestComBina原创 2017-11-06 16:25:58 · 147 阅读 · 0 评论 -
Java array数组
数组概述和特点数组的定义:数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。数组的四个基本特点:1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。2.其元素必须是相同类型,不允许出现混合类型。3.数组中的元素可以是任何数据类型,包括基本类型和原创 2017-12-07 22:44:55 · 351 阅读 · 0 评论 -
Java 表达式类型的自动提升
当一个java算术表达式中包含多个基本类型的值时,整个算术表达式的数据类型将发生自动提升。Java定义如下的自动提升规则:1. 所有byte型、short型和char型将被提升到int型。2. 整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的类型。操作数的等级排列如下图所示,位于箭头右边类型的等级高于位于箭头左边类型的等级。下面程序示范了一个典型的错误:原创 2017-12-08 21:15:31 · 290 阅读 · 0 评论 -
Java 数据类型转换
自动类型转换自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。int i=3;double d=i;float f=i;double d2=f;在图中,黑色的实线表示无数据丢失的自动类型转换,而红色的虚线表示在转换时可能会精度的损失。 boolean 8bit/1byte byte 8bit/1原创 2017-12-08 22:13:47 · 137 阅读 · 0 评论 -
Java 子类构造函数默认调用父类构造函数super
假设有两个类: Person:父类,成员变量:name,age Student:子类,继承Person,则它的成员变量name,age,假设再新增一个成员变量address那么当Student写构造函数时:public Student(String name,int age,String address){ this.name = name; this.age原创 2017-11-16 20:57:33 · 1945 阅读 · 0 评论 -
Java 子类未重写的方法调用父类还是子类的问题
父类-------------------------------------------------------public class begetter {public void a1(){System.out.println("父类a1方法");this.b1();}public void b1(){System.out.println("父类b1方法");}原创 2017-11-16 21:44:55 · 2316 阅读 · 3 评论 -
Java 比抽象类还要抽象的类-接口interface
接口是设计和实现的分离接口中只有:常量和抽象方法。接口的方法默认就是public abstract变量默认就是public static final 接口的使用方法:publicinterface name{/*默认是公开的不写也是公开的*/public static final String name="张三";//接口中定义常量时系统默认会增加 public原创 2017-11-17 21:13:48 · 214 阅读 · 0 评论 -
Java CallBack&&Hook 回调的实现
public class CallBack {public void back(){System.out.println("钩子测试");}}---------------------------------------------------分割线public class CallBackTest {public static void frame(CallBack原创 2017-11-22 19:39:41 · 434 阅读 · 0 评论 -
Java char(字符)和String(字符串)
1. 类型不同,char是字符类型, String是字符串类型2、String字符串是用""来包含串的, char是用''来包含单字符的12char a='1';//定义一个字符String b="dadsa";//定义一个字符串3、String内部用来存储的结果是一个char字符数组。原创 2017-12-12 22:15:54 · 1298 阅读 · 0 评论 -
Java 一元、二元运算符、三目条件运算符(三元运算符)
Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,=, 逻辑运算符: &&,||,! 位运算符: &,|,^,~ , >>,>>(了解!!!) 条件运算符 ?: 扩展赋值运算符:+=,-=,*=,/= 一元运算符int a = 3; int b =原创 2017-12-12 22:40:04 · 28684 阅读 · 2 评论 -
Java 内部类innerclasses
内部类(innerclasses)一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,成为内部类。内部类的作用:1.内部类提供了更好的封装。只能让外部类直接访问,不允许同一个包中的其他类直接访问。2.内部类可以直接访问外部类的私有属性,内部类被当成其外部类的成员。但外部类不能访问内部类的内部属性。内部类的使用场合:由于内部类提供了更好的封装特原创 2017-12-01 21:07:48 · 297 阅读 · 0 评论 -
Java ==和equals
值类型(int,char,long,boolean等)都是用==判断相等性。对象引用的话,==判断引用所指的对象是否是同一个。equals是Object的成员函数,有些类会覆盖(override)这个方法,用于判断对象的等价性。例如String类,两个引用所指向的String都是"abc",但可能出现他们实际对应的对象并不是同一个(和jvm实现方式有关),因此用==判断他们可能不相等,但用equa原创 2017-11-13 19:46:42 · 156 阅读 · 0 评论 -
Java 字符串类的常用方法【java.lang.String】
public class StringTest {static class sss{String s3="core java";}class sss2{}public static void main(String[] args){String s1="core java";String s2="Core Java";StringTest.sss ss=new St原创 2017-12-06 22:12:28 · 937 阅读 · 0 评论 -
Java面向对象的本质
面向对象编程的本质就是:以类的方式组织代码,以对象的方式组织(封装)数据。原创 2017-10-30 21:59:15 · 944 阅读 · 0 评论 -
Java cmd中运行Java文件为什么不能带后缀名?
这是java的规定.若写 java xxx.yyy是代表要运行 package xxx 中的class yyy 里面的 main(String[])所以当你写 java xxx.class 时, 它会以为要找一个叫xxx的package里面的一个叫class的class.原创 2018-02-23 22:04:35 · 1995 阅读 · 3 评论 -
Java Object类_根基类
1.Object类是所有Java类的根基类2.如果在类的声明中未使用extends关键字指明其基类,则默认基类为Object类publicclassPerson{... }等价于:publicclassPersonextendsObject{...}原创 2017-11-05 19:23:08 · 174 阅读 · 0 评论 -
Java重载override
1.在子类中可以根据需要对从基类中继承来的方法进行重写。2.重写方法必须和被重写方法具有相同方法名称、参数列表、和返回值。3.重写方法不能使用比被重写方法更严格的访问权限。(由于多态)方法的重载指的是:同一个类中,一个方法名对应了多个方法(形参列表不同)。方法的重写指的是:子类重写了父类的方法。原创 2017-11-05 19:17:57 · 139 阅读 · 0 评论 -
Java 面向对象的三大特征:继承、封装【隐藏】、多态<为了适应需求的多种变化,使代码变得更加通用>
三大特征:继承、封装【隐藏】、多态原创 2017-11-03 18:57:17 · 391 阅读 · 0 评论 -
Java方法中返回值,和打印的理解
public class TestOverLoad02 {public int print(char x){System.out.println("我叫:"+x);return 1;}}public class Test02 {public static void main(String[] args){TestOverLoad02 test1=new Test原创 2017-10-21 09:44:55 · 6290 阅读 · 1 评论 -
Java中类名+方法名(){}理解
public class Test02 {public static void main(String[] args){Test02 test2=new Test02();test2.increment();System.out.println(test2.number);} int number; Test02 increment(){原创 2017-10-21 08:58:40 · 5193 阅读 · 0 评论 -
Java 继承与组合的使用情况
is-a (‘是’关系)是关系使用继承人类是动物,猫是动物,猴子是动物,使用继承has-a (‘有’关系或‘具备’关系)有关系使用组合人类有眼睛,有鼻子,有耳朵,有嘴巴,使用组合没有必要走极端分情况使用。原创 2017-11-07 10:58:10 · 171 阅读 · 0 评论 -
Java 方法的隐式参数
每个方法中都存在this和super,两个隐式参数public void Test(this,super){}原创 2017-11-07 11:01:07 · 497 阅读 · 0 评论 -
Java final关键字
修饰变量:常量修饰方法:该方法不可被子类重写,但可以被重载!修饰类:修饰的类不能有子类,不能被继承,比如Math、String。/** * 1.final修饰的成员变量必须手动初始化最终值; * 2.final修饰的局部变量必须手动初始化最终值; * 3.final修饰的方法不能被子类重写,可以被重载; * 4.final修饰的类(class)不能被继承;原创 2017-11-07 19:03:58 · 137 阅读 · 0 评论 -
Java面向过程与面向对象的思维模式
面向过程的思维模式是简单的线性思维,思考问题首先陷入第一步做什么、第二步做什么的细节中。这种思维模式适合处理简单的事情,比如:上厕所。如果面对复杂的事情,这种思维模式会陷入令人发疯的状态!比如:如何造神舟十号!面向对象的思维模式说白了就是分类思维模式。思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后,才对某个分类下的细节进行面向过程的思索。这样就原创 2017-10-30 21:29:45 · 355 阅读 · 0 评论 -
Java 访问控制符
访问控制符同一个类同一个包中子类所有类private* default(即不加修饰符的时候)** protected***原创 2017-11-08 22:38:44 · 168 阅读 · 0 评论 -
Java成员变量常用九类数据类型的默认值
public class TestType {byte s1;short s2;int s3;long s4;float s5;double s6;char s7;boolean s8;String s9;public void print(){System.out.println("byte:"+s1+" short:"+s2+" int:"+s3+原创 2017-10-31 18:57:23 · 512 阅读 · 0 评论 -
Java递归算法要点
1. 定义递归头。解答:什么时候不调用自身方法。如果没有头,将陷入死循环。//关闭2. 递归体。解答:什么时候需要调用自身方法。//打开原创 2017-10-29 19:49:35 · 384 阅读 · 0 评论 -
Java赋值问题,如下
两个类在同一个package内public class A {String name;}public class B {A a;public static void main(String[] args){B b=new B();b.a.name="张三"; // Exception in thread "main" java.lang.Nul原创 2017-10-21 10:02:23 · 419 阅读 · 0 评论 -
Java OOA OOD OOP OOT 知识储备
OOAObject-Oriented Analysis:面向对象分析方法是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。OOA与结构化分析有较大的区别。OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。OOA(面向对象的分析)模型由5个层次(主题层、对象类层、结构层、属性层和服务转载 2017-10-31 09:04:38 · 432 阅读 · 0 评论 -
Java 方法形参放类变量案例
形参放置类变量案例public class TestPoint {int x,y,z;public TestPoint(int _x,int _y,int _z){x=_x;y=_y;z=_z;}/*public void setX(int x){this.x=x;}public void setY(int y){this.y=y;}原创 2017-11-01 20:01:40 · 243 阅读 · 0 评论 -
Java static静态方法 静态变量
1.它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, 2.对于该类的所有对象来说,static成员变量只有一份。被该类的所有对象共享!! 3.可以使用”对象.类属性”来调用。不过,一般都是用“类名.类属性”。 4.用static声明的方法为静态方法 5.不需要对象,就可以调用(类名.方法名) 在调用该方法时,不会将对象的引用传递给原创 2017-11-01 21:11:59 · 247 阅读 · 0 评论 -
Java 关于多态中,父类引用子类对象中的“引用”解释,释义
首先,你要明白什么是变量,变量的实质是一小块内存单元,这一小块内存里存储着变量的值。比如int a = 1;a就是变量的名名,1就是变量的值。而当变量【变量名】指向一个对象时,这个变量就被称为引用变量比如A a =new A();a就是引用变量,它指向了一个A对象,也可以说它引用了一个A对象。我们通过操纵这个a来操作A对象。 此时变量a的值为它所引用对象的地址。原创 2017-11-09 22:56:43 · 1404 阅读 · 0 评论 -
Java 抽象类实现的意义:方法与方法体分开写!
抽象方法:使用了abstractr修饰的方法,没有方法体,并且子类必须重写这个方法;抽象类:包含了抽象方法的类,必须是抽象类,可以存在其他方法,但抽象方法一定存在于抽象类;抽象类的使用要点:1.通过抽象类,可以避免子类设计的随意性。2.有抽象方法的类只能定义为抽象类。3.抽象类不能被实例化,即不能用new来实例化抽象类。4.抽象类可以包含属性、方法、构造方法。但是构造方法不原创 2017-11-16 21:54:25 · 947 阅读 · 0 评论 -
Java 判断对象类型instanceof 【多态扩展】
instanceofpublic class TestPolymorphism {public void voice(){System.out.println("动物叫声!");}}class Cat extends TestPolymorphism{public void voice(){System.out.println("喵嗷污!");}pu原创 2017-11-13 20:58:18 · 848 阅读 · 0 评论 -
Java 引用变量的两种类型 【多态相关】
引用变量的两种类型: 编译时类型(模糊一点,一般是一个父类) 由声明时的类型决定。 运行时类型(运行时,具体是哪个子类就是哪个子类) 由实际对应的对象类型决定。通过动态绑定调用该对象的方法。动态绑定会使我们的程序编写更加灵活,但是会减慢程序运行速度。这也是JAVA比C++/C慢的主要原因之一。原创 2017-11-13 21:25:46 · 628 阅读 · 0 评论