构造方法 方法块 this关键字

类的的成员
1.属性--静态描述特征
权限修饰符 [特征修饰符] 属性类型 属性名字[=值];
2.方法--动态描述行为
权限修饰符 [特征修饰符] 返回值类型 方法名字([参数列表])[抛出异常][{方法体}]
最重要的是方法的设计参数及返回值问题 传递 调用 执行 内存
3.构造方法--创建当前类对象(做唯一事情)
权限修饰符 与类名相同的方法名({参数列表])[抛出异常]{方法体}
4.程序块--一个特殊的方法
方法体
5.this关键字的使用
用来代替某一对象
可以调用一般属性或一般方法 放置在任何类成员中
可以调用构造方法 只能放再另一个构造方法内 只能放在程序第一行

类的成员--构造方法的作用
1.只有一个 构建(构造)当前类的对象
2.写法:  权限修饰符 与类名一致的方法名(参数列表)[抛出异常]//可有可无{
				一件事情 创建一个对象(当前类)
				返回对象;
		 }
3.用法:通过new关键字调用
4.特点:1.每一个类都有构造方法 若自己在类中没有定义 系统会默认提供一个无参数的构造方法
		  若在类中自己写了构造方法 系统提供的默认构造方法会被覆盖
		2.构造方法也存在方法重载---构造方法重载
5.每一个类都有构造方法
	若不定义 系统会默认提供构造方法
	定义构造方法的意义
	在定义构造方法的时候 最好将系统默认的无参数的构造方法写上

6.类的成员--程序块(代码块)	--理解为就是一个方法(非常特殊的 无修饰符无参数无返回值无名字)
	1.作用:跟普通方法一样 做事情的
	2.写法:可以认为程序块是一个没有修饰符 没有参数 没有返回值 没有名字的特殊方法
					{
	
					}
	3.用法:块也需要调用才能执行 我们自己调用不到(没有名字)
			每一次我们调用构造方法之前 系统会帮我们自动的调用一次程序块
	
	4.特点:没有什么重载的概念 但是可以在类中定义 多个程序块

	5.块可以在里面写一些程序 我想要在创建对象之前执行	
	如果属性和变量重名 为了区分属性和变量 在属性前面+this.
	例如
	this.name = name;
	this关键字的使用
	1.是一个关键字(指代词) 代替的是某一个对象 (当前调用方法时的那个对象)
	this调用属性/方法
	this可以调用构造方法  我们认为构造方法早于一般方法执行
	因此不能在一般方法内调用构造方法
	构造方法重载 
	构造方法调用构造方法:
		通过this(); 省略了构造方法的名字(必须与类型一致)
		必须在另一个构造方法内调用且必须放在第一行
	
	调用的属性/方法 这一行代码 可以放置在类中的任何成员位置 上下顺序随意

方法之间来回的调用 编译好用 但执行可能会产生StackOverflowErrow栈溢出错误
Exception异常(认为规定的一种不正常现象)
编译时异常
运行时异常
Error错误(计算机根本处理不了 内存溢出)
nextLine方法会以回车符为截止 将回车符连同之前的所有字符都读取出来 将回车符扔掉 把之前的所有字符组合成一个完整的字符串传回
nextInt方法会以回车符作为截止将回车符之前的所有字符都读出来 回车符继续留在队列中
如果想让nextInt方法放在nextLine上面执行
方法一、利用nextLine方法读取一个空回车符
input.nextLine();
方法二、利用next方法读取字符串 next方法读取方式与nextInt一样 不读取回车符
方法三、将账号和密码都统一的用nextLine来读取
需要将String类型转换为int类型
int value = Integer.parseInt(password);如果password的值为abc 会报错 异常NumberFormatException
如果要将int类型转换回String类型
最快的方法 将5+""将一个引用类型加上一个空字符串最终变为一个字符串
基本类型<--包装类-->引用类型 int-Integer char-Character byte-Byte float-Float

posted @ 2021-01-30 09:27  JAVA初当力  阅读(85)  评论(0编辑  收藏  举报