面向对象学习(三)

一、成员变量初始值

java中所有的变量必须先声明,后赋值,才能使用

java中的成员变量在创建对象的时候都会执行一次初始化操作,给一个默认值

String是java提供的一个类

基本数据类型默认值都是0 包括boolean -> false

引用数据类型:null

null表示空,什么都没有, 占位

二、object

所有的东西都是对象

在java中所有的类都要继承object

object是一个类,所有类的根

我们写的类,即使不写继承,默认也会继承object

三、equals和==

== 判断左右两端的数据是否一致

equals:object类提供的一个方法,用来判断两个对象是否相等(???)

equals可以自己重写

字符串的判断一定要用equals

小练习: 模拟用户登录

public class Test2 {
	public static void main(String[] args) {
		String username = "admin";
		String password = "123";
		
		Scanner sc = new Scanner(System.in);
		
		System.out.println("请输入用户名");
		
		String uname = sc.nextLine();
		
		System.out.println("请输入密码");
		
		String upwd = sc.nextLine();
		
		// 判断用户名和密码是否ok  直接用==不可以 因为判断的是两个对象
		if (uname.equals(username) && upwd.equals(password)){
			System.out.println("success");
		}else {
			System.out.println("fail");
		}
	}
}

四、toString

toString()对一个对象的字符串的表示形式

public class Dog {
	String name;
	String color;
	
	public Dog(String name,String color) {
		this.name = name;
		this.color = color;
	}
	
	// 子类对父类提供的方法不满意,重写
	
	public static void main(String[] args) {
		Dog d = new Dog("xiaohua","white");
		
		// 直接打印这个d
		System.out.println(d);
		// 默认打印对象,自动执行这个对象中的toString()方法   这两个输出是一样的
		System.out.println(d.toString());
		
		// 默认的toString() -> 包+类@内存地址
	}
}

五、instanceof关键字

instanceof:判断XXX对象是否是XXX类型的

if(c instanceof cat)......

六、参数传递问题

局部变量放在栈里

对象放在堆里

值传递:把变量的值作为参数进行传递

引用传递:直接把变量作为参数进行传递

JAVA使用的是值传递

画内存图 

Java面向对象编程丨老男孩IT教育_哔哩哔哩_bilibili

这一节要反复观看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值