什么是对象? 如何构造方法? 什么是this
一句话总结 对象就是类的具体实现 如果说吧对象看做为具体,那么相对的 类 就是生产车间的蓝图,需要我们去做具体的行为去生产 就像游乐园门前的你
那么我们真正的去游乐园游玩呢,首先我们要买票/登记(看作为创建对象), 以下代码演示了如何创建类 构造方法 创建对象 public class Park{//创建一个类,此时在内存中没有实例,等待调用. int age; String name; int Error; public Park(){//无参数构造器 传初始化参数在这个阶段完成 而方法只是写逻辑 不包含this.xxx=xxx这种东西. System.out.println("请出示您的身份证明!"); Error=1;//初始化阶段完成错误判断 } public Park(String name,int age){//带参数构造器,如果有带参数构造器则必须有无参数构造器. this.name=name; this.age=age; } public void register(){ if(Error!=1){//如果发现错误则无需执行以下程序 if(age>=18){ System.out.println("认证成功,欢迎你!["+name+","+age+"]"); }else{ System.out.println("对不起["+name+"],您的年龄["+age+"]不足以进入本游乐园,请满18后再来."); } }else{ System.out.println("请出示您的身份证明!"); } } public static void main(String[] args){ Park DaLi = new Park("DaLi",18);//Park 类型的DaLi 此时 内存中有了实例 DaLi.register();//此时我们可以通过Park类型的DaLi去调用Park的方法,此时实现了注册登记. Park ZhangSan = new Park("ZhangSan",16); ZhangSan.register(); Park LiSi = new Park();//这里的LiSi没有出示他的身份证明. LiSi.register();//强行注册出发错误 } }
x
1 public
class
Park { //创建一个类,此时在内存中没有实例,等待调用. 2
int
age ; 3
String
name ; 4
int
Error ; 5
public
Park (){ //无参数构造器 传初始化参数在这个阶段完成 而方法只是写逻辑 不包含this.xxx=xxx这种东西. 6
System . out . println ( "请出示您的身份证明!" ); 7
Error
1 ; //初始化阶段完成错误判断 8 } 9
public
Park ( String
name , int
age ){ //带参数构造器,如果有带参数构造器则必须有无参数构造器. 10
this . name
name ; 11
this . age
age ; 12 } 13
public
void
register (){ 14
if ( Error != 1 ){ //如果发现错误则无需执行以下程序 15
if ( age
= 18 ){ 16
System . out . println ( "认证成功,欢迎你![" + name + "," + age + "]" ); 17 } else { 18
System . out . println ( "对不起[" + name + "],您的年龄[" + age + "]不足以进入本游乐园,请满18后再来." ); 19 } 20 } else { 21
System . out . println ( "请出示您的身份证明!" ); 22 } 23 } 24
public
static
void
main ( String [] args ){ 25
Park
DaLi
=
new
Park ( "DaLi" , 18 ); //Park 类型的DaLi 此时 内存中有了实例 26
DaLi . register (); //此时我们可以通过Park类型的DaLi去调用Park的方法,此时实现了注册登记. 27
Park
ZhangSan
=
new
Park ( "ZhangSan" , 16 ); 28
ZhangSan . register (); 29 30 31
Park
LiSi
=
new
Park (); //这里的LiSi没有出示他的身份证明. 32
LiSi . register (); //强行注册出发错误 33 } 34 } 运行结果: 认证成功,欢迎你![DaLi,18] //DaLi满足年龄要求,成功进入游乐园. 对不起[ZhangSan],您的年龄[16]不足以进入本游乐园,请满18后再来. //ZhangSan不满足要求 被拒之门外.
在使用时注意,成员变量可以被本类的所有方法所使用,同时可以被与本类有关的其他类所使用。而局部变量只能在当前的方法中使用。
在这里我们要讲到一个关于作用域的知识了。作用域可以简单地理解为变量的生存期或者作用范围,也就是变量从定义开始到什么时候消亡。
局部变量的作用域仅限于定义它的方法内。而成员变量的作用域在整个类内部都是可见的。 同时在相同的方法中,不能有同名的局部变量;在不同的方法中,可以有同名的局部变量。 成员变量和局部变量同名时,局部变量具有更高的优先级。 大家可以编写代码验证一下。