java第十天---局部内部类与成员内部类的区别,匿名内部类,equals与==的区别,字符串作为特殊的引用数据类型 ,next()与nextLine()

1  在成员内部类和局部内部类中分别创建对象

 

2 匿名内部类(本质是一个对象,是谁的对象,谁实现了该接口,或继承了该抽象类的子类对象

    A:匿名内部类:    就是局部内部类简化写法。
    B:前提:    存在一个类或者接口;这里的类可以是具体类也可以是抽象类。
    C:格式:
        new 类名或者接口名(){
            重写方法;
        } ;

A: 面试题
		 interface Inter {
			public static final int a = 23 ;
		}
		
		public class Test {
	
			public static void main(String[] args) {
				new Inter() {
					public void show() {
					// 这个this表示的是匿名内部类的这个对象
						System.out.println(this.a);
					}
				}.show();
			}
		}

 

3 Object中的一些方法

 

4 浅克隆与深克隆

深拷贝与浅拷贝的区别:深拷贝——把内容全部拷贝了过来,重新开个地址空间,所以当a增加的时候,e并没有增加,因为地址不一样。 浅拷贝——拷贝了引用,把a指向数据内容的地址拷贝给你了f,所以f也指向了a所指向的地址。所以当a改变的时候,f也会改变。

5   next()与nextLine()的区别

 

6 ==与equals的区别

 

7 注意

    1 

 2字符串作为一种特殊的引用数据类型,形参的改变不影响实参

3

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,你的问题是关于Java字符串的使用,具体来说是关于String类创建字符串后如何使用equals和==判断字符串是否相等。那么我来回答你的问题。 在Java中,String是一个特殊的类,用于表示字符串。创建String对象有两种方式:使用字符串文字或者使用构造函数。 使用字符串文字创建字符串对象时,Java会自动将其转换为String对象: ``` String str1 = "Hello"; ``` 使用构造函数创建字符串对象时,需要显式地调用String类的构造函数: ``` String str2 = new String("Hello"); ``` 当我们需要比较两个字符串是否相等时,可以使用equals方法或者==运算符。 equals方法比较的是两个字符串的内容是否相等,而==运算符比较的是两个字符串引用是否相等。具体来说,如果两个字符串的内容相同,那么它们使用equals方法比较的结果为true;如果两个字符串引用指向同一个对象,那么它们使用==运算符比较的结果为true。 下面是一个示例,演示了如何使用equals方法和==运算符比较两个字符串是否相等: ``` String str1 = "Hello"; String str2 = new String("Hello"); String str3 = "Hello"; System.out.println(str1.equals(str2)); // 输出false,因为str1和str2的引用不同 System.out.println(str1 == str2); // 输出false,因为str1和str2的引用不同 System.out.println(str1.equals(str3)); // 输出true,因为str1和str3的内容相同 System.out.println(str1 == str3); // 输出true,因为str1和str3的引用相同 ``` 希望我的回答能够帮到你。如果你还有其他问题,请随时提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值