欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java 基础,java

来源: javaer 分享于  点击 36660 次 点评:6

java 基础,java


看了几篇别人的职业生涯,感慨良多,java必定要用到,得好好学!

1 java & 与 && 的区别

(逻辑运算又称布尔运算 包括 与或非)
整型和布尔型预定义了二进制“&”运算符。
对于型,“&”计算操作数的按位与
对于布尔操作数,“&”计算操作数的逻辑与。 当且仅当两个操作数均为true时,其结果才为true,
而“&&”则是这样: 条件1为false时不去理会条件2,因为即使条件2为true,结果还是false,“&”则会去判断条件2。

2 访问控制修饰符

Java中,可以使用访问控制符来保护对类、变量、方法和构造方法的访问。Java支持4种不同的访问权限。
默认的,也称为 default,在同一包内可见,不使用任何修饰符。
私有的,以 private 修饰符指定,在同一类内可见。
共有的,以 public 修饰符指定,对所有类可见。
受保护的,以 protected 修饰符指定,对同一包内的类和所有子类可见。

3 Java StringBuffer和StringBuilder类

String类不同的是,StringBuffer和StringBuilder类的对象能够被多次的修改,并且不产生新的未使用对象
StringBuilder的方法不是线程安全的(不能同步访问)。
StringBuilder相较于StringBuffer有速度优势

4 引用传递

package Main;

public class main1 {

    public static void changeValue(TestFun tf) {
        // tf.value = "我被改变了";//第一种情况 【1】

        tf = new TestFun("这是新的我");//第二种情况【2】
        tf.value = "新的我被改变了";

    }

    public static void main(String[] arg) {
        TestFun mytf = new TestFun("没有被改变的我");

        System.out.println("测试前:" + mytf.value);
        // 执行测试
        changeValue(mytf);

        System.out.println("测试后:" + mytf.value);
    }
}

class TestFun {
    String value = "null";

    TestFun(String v) {
        this.value = v;
    }
}

第一种情况输出结果:

测试前:没有被改变的我
测试后:我被改变了

第二种情况输出结果:

测试前:没有被改变的我
测试后:没有被改变的我

解释如下:
引用传递是指:方法的形参不申请自己的储存空间,与实参共用一块堆内存(String 以堆形式存储);所以在第二种情况中,由于形参只是与实参指向的内存空间相同,而并不完全代表实参,所以当形参 tf = new TestFun("这是新的我");//第二种情况【2】 的时候,形成已经改变了形参所指向的内存空间,而这与实参没有任何关系。

小结 20160727
参考连接:
http://www.runoob.com/java/java-modifier-types.html

相关文章

    暂无相关文章
相关栏目:

用户点评