java 传参字符串数组_java 入门009

87949a4a48021cf22ff0f83a18e2ece1.png

如果一个类的构造方法被私有化了,那么是否可以在其他的类创建该类对象。

如果可以?采用什么方法实现?

在类中定义个静态的方法,在静态方法中创建对象,并返回。

接口的设计一定要慎重

假如设计了一个接口,然后很多的子类进行了实现,突然发现我要对接口进行修改,

是否存在其他的方案,即使对已有的接口进行修改,现有的实现的子类也不会进行相应的更新??

package com.bjsxt.test0605;

public class Test {

public static void main(String[] args) {

// int[] arr;

// int arr1[];

//

// int[][] arr2 = new int[2][];

// arr2[0] = new int[10];

// arr2[1] = new int[12];

//

// int[][] arr3 = {

// {1,3,45,6,43,3},

// {3,45,67,45,3,32},

// {56,5,3432,34,56,76}

// };

// System.out.println(arr3[1]);//[I@

// System.out.println(arr3[2][2]);//3432

//

// System.out.println(getNumber());

//

test();

int i=10;

test2(i);

System.out.println(i);

String str = "123";

test3(str);

System.out.println(str);

}

//0

// public static int getNumber(){

// int i = 0;

// try {

// return i;

// } catch (Exception e) {

// e.printStackTrace();

// }finally {

// i++;

// System.out.println(i);//1

// }

// return i;

// }

static void test(){

String s0 = "a";

String s1 = "b";

String s2 = "ab";

String s3 = "a" + "b";

String s4 = s0+s1;//new StringBuilder(s0).append(s1);

String s5= "a" + s1;

String s6 = new String("ab");

//允许在运行期动态的往字符串常量池添加常量的,返回的是常量池的地址。

String s7 = new String(s0+s1+s4).intern();

System.out.println(s7=="abab");

System.out.println(s2 == s3);//true

System.out.println(s2 == s4);//false

System.out.println(s2 == s5);//false

System.out.println(s2 == s6);//false

System.out.println(s2 == s7);//true

}

static void test2(int i){

i ++;

}

static void test3(String str){

str = "456";

str += 1;

}

}

class A{

private static A a =new A();

private A(){}

public static A getNewInstance(){

return new A();

}

public static A getCacheInstance(){

return a;

}

}

interface AA{

void a();

void b();

void c();

void d();

}

//骨架类

abstract class AAAAA implements AA{

@Override

public void a() {

}

@Override

public void b() {

}

@Override

public void c() {

}

@Override

public void d() {

// TODO Auto-generated method stub

}

}

class AAA extends AAAAA{

@Override

public void a() {

}

}

java.util.Arrays:数组工具类

sort binarysearch copyof….toString

多维数组

int[] arr;

int arr1[];

int[][] arr2 = new int[2][];

arr2[0] = new int[10];

arr2[1] = new int[12];

int[][] arr3 = {

{1,3,45,6,43,3},

{3,45,67,45,3,32},

{56,5,3432,34,56,76}

};

System.out.println(arr3[1]);//[I@

System.out.println(arr3[2][2]);//3432

异常:异常的继承体系、异常的分类、异常的处理方式、

Object

--Throwable

---Error 比较严重的问题。

---Exception

---RuntimeException

---IOException

---……

2大类:

1:运行时异常,有一个公共的父类 RuntimeException

NullPointerException:空指针异常。使用了没有初始化的对象。

2:编译期异常 checked 异常 以Exception 为父类。

IOException

处理方式:

编译期异常:必须处理,要么抓,要么抛

Try-catch finally

//0

public static int getNumber(){

int i = 0;

try {

return i;

} catch (Exception e) {

e.printStackTrace();

}finally {

i++;

System.out.println(i);//1

}

return i;

}

throw :在方法体内使用,后面跟的是异常对象,只能有一个异常对象。

Throws: 在方法名和参数列表之间使用,后面跟的是异常的类型,可以是多个异常类型,使用逗号 分隔。

String

static void test(){

String s0 = "a";

String s1 = "b";

String s2 = "ab";

String s3 = "a" + "b";

String s4 = s0+s1;//new StringBuilder(s0).append(s1);

String s5= "a" + s1;

String s6 = new String("ab");

//允许在运行期动态的往字符串常量池添加常量的,返回的是常量池的地址。

String s7 = new String(s0+s1+s4).intern();

System.out.println(s7=="abab");

System.out.println(s2 == s3);//true

System.out.println(s2 == s4);//false

System.out.println(s2 == s5);//false

System.out.println(s2 == s6);//false

System.out.println(s2 == s7);//true

}

String 类对象 特点

字符串对象一旦创建,就不能被更改。底层使用char[] values 实现。

可能会造成在内存中存在大量的被抛弃的字符串对象。

因为不可变,所以多个线程访问同一个字符串对象的时候,是安全的。

StringBuilder StringBuffer

增强的可变的String 类。

相同点:API 完全一致。

不同点:StringBuffer 是线程安全的,效率低,StringBuilder 是线程不安全的,效率高。StringBuilder出现的目的是在线程安全的环境下对StringBuffer 的替代。

java.util.Date

--1:从日期对象到 指定格式的字符串对象的转换

SimpleDateFormate String format(Date date)

--2:从一个日期字符串对象转换为日期Date

Date parse(String dateStr)

月份从0开始, 星期从0开始的。 星期日à0

包装类:

Integer:提供了一些操作int 数据的方法: 提供了 int 类型和 String 类型之间的相互转换。

Int—>String Integer.toString(int i);

Stringàint Integer.parseInt(String str);

特点:对象一旦创建就不能更改。

方法调用的传参的问题

基本数据类型传值

引用数据类型传引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值