
JAVA基础
JAVA基础
Holy灬loong
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,那就应该静下心来历练
展开
-
内部类、内部接口
/**/非静态内部类的使用示例(展示内部类与外部类,内部类与内部类之间的访问形式)**public class Outer { //一个文件中只能有一个public的一级类,但它内部的类还是可以public的。private int size;public class Inner{ //可理解为外部类的一个成员,跟一个方法一样。 (对象级)private int counter=10;//原创 2017-09-06 11:24:04 · 461 阅读 · 0 评论 -
自动装箱和拆箱(包装和解包)
自动装箱:就是把基础数据类型自动封装并转换成对应的包装类的对象。 拆 箱 :就是把包装类的对象自动解包并转换成对应的基础数据类型。public class BoxDemo { public static void main(String[] args) { //demo1(); demo2(); } private static void dem原创 2017-09-05 00:42:56 · 590 阅读 · 0 评论 -
Java中在一个方法中调用另一个方法
在同一个类中: 对于静态方法,其他的静态或非静态方法都可以直接调用它。 而对于非静态方法,其他的非静态方法是可以直接调用它的。但是其他静态方法只有通过对象才能调用它。静态方法不能被非静态方法覆盖。public class Test2 { public static void s1(){ System.out.println("s1"); } public原创 2017-09-04 22:30:57 · 88075 阅读 · 4 评论 -
clone()方法
clone()方法: 创建并返回此对象的一个副本。“副本”的准确含义可能依赖于对象的类。这样做的目的是,对于任何对象 x,表达式: 书写注意要点: 1、返回的对象应该通过调用 super.clone 获得 x.clone( ) != x //true x.clone( ).getClass() == x.getClass( ) //true x.clo原创 2017-09-08 11:37:00 · 2025 阅读 · 0 评论 -
分析程序的输出
写出下面代码的输出结果,为什么?public class Test2{ static int i=5; public static void main(String[] args){ Father father = new Child(); father = new Child(); System.out.println( (chang原创 2017-09-03 22:42:45 · 359 阅读 · 0 评论 -
方法的匹配顺序
匹配顺序: this.show(O), super.show(O), this.show(super(O)), super.show(super(O)) 1)先确保参数完全匹配O的前提下,依次匹配this与super。 2)再考虑参数用super(O)渐近匹配O,依次匹配this与super 3)当存在子类覆盖父类方法时,根据new子类实例的原则,先调原创 2017-09-05 15:02:32 · 551 阅读 · 0 评论 -
引用参数传递
程序输出:test1方法中的age20main方法中的age20public class TempTest{ private void test1(A a){ a.age=20; System.out.println("test1方法中的age"+a.age); } public static void main(String [] arg原创 2017-09-04 23:24:14 · 447 阅读 · 0 评论 -
Java的内存分配
★Java程序运行时的内存结构分成:方法区、栈内存、堆内存、本地方法栈几种。(还有一个寄存器区,我们在程序中无法控制。这些内存区块都是由JVM负责维护。)方法区:存放被装载类的数据信息,即存放该类的定义信息。类装载之后,类的定义(.class字节码)存放在方法区。具体信息包括:1、基本信息: )每个类的全限定名 2)每个类的直接超类的全限定名(可约束类型转换) 3)该类是类还是接口(类型)原创 2017-09-06 21:04:49 · 316 阅读 · 0 评论 -
覆盖方法的规则
(1)覆盖方法的返回类型、方法名称、参数列表必须与它所覆盖的方法的相同。 (2)覆盖方法不能比它所覆盖的方法访问性差(即访问权限不允许缩小)。 (3)覆盖方法不能比它所覆盖的方法抛出更多的异常。——范围不能扩大(如父类方法throws FileNotFoundException,子类的覆盖方法不能throws FileNotFoundException, InterruptedIOExcepti原创 2017-09-05 14:03:40 · 2034 阅读 · 0 评论 -
静态成员
静态成员:★每个类有一个static池,池中统一存放该类的static变量,为所有对象共享。static变量在类装载时就被初始化(即,在第一个对象被使用之前初始化一次。) ★为什么在静态方法中不能访问非静态成员(变量或方法)? 因为静态方法拿着类的名字就可以直接调,这时根本没有类的实例,所以就无法访问非静态成员(需要通过类的实例才能访问)。★static的基本规则 1)一个类的静态方法只能原创 2017-09-03 23:05:35 · 274 阅读 · 0 评论 -
枚举enum
Enum一般用来表示一组相同类型的常量。如性别、日期、月份、颜色等。对这些属性用常量的好处是显而易见的,不仅可以保证单例,且在比较的时候可以用”==”来替换equals。 JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代(C语言中的这种功能)。public enum Color { RED,BLUE,GREEN,WHITE,BLACK;//对象常量之间用逗号隔开,最后的分号原创 2017-09-05 18:00:40 · 262 阅读 · 0 评论 -
String类中的常用方法
import java.io.IOException;import java.io.UnsupportedEncodingException;import java.nio.charset.Charset;import org.junit.Test;public class StringDemo { /* * 2.输出String s =“1234567”的长度,第3个字符,字原创 2017-09-07 17:41:44 · 397 阅读 · 0 评论 -
变量初始化问题
最近在复习面向对象加强,就把写博客当练习public class Test { private int i;//◆Test类的实例变量,系统会自动为其赋初值0◆ public void test1(){ int s=i+5;System.out.println(s); int x;//=60;//=(int)(Math.random()*100);//◆局部变量必须手动初始化原创 2017-09-03 22:47:22 · 231 阅读 · 0 评论 -
变量作用范围级别
最近在复习面向对象,就把写博客当做复习Java有4种级别的变量:类级,对象实例级,块级,方法级 方法级 和 块级别)的变量都是必须赋初值才能使用public class Test { private static String name="Java学习"; //类级 private int i;//对象实例级,Test类的实例变量 { //属性块,在类初始化属性时候运行 in原创 2017-09-03 22:54:53 · 710 阅读 · 0 评论