class Name{
private String firstName;
private String lastName;
public Name() { } ————>公有的 无参数的方法 叫构造方法 什么是构造方法请自行脑补,拥有这个方法的都可以叫做 java的 bean了!你可以理解为后台服务器辨别的标志
public Name(String firstName ; String lastName )
{
this.firstName = firstName;
this.lastName = lastName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public void getFirstName(String firstName)
{
return this.firstName ;
}
public void setLastName(String LastName)
{
this.LastName = LastName;
}
public void getLastName(String LastName)
{
return this.LastName ;
}
}
public class Person
{
private final Name;
public Person (Name name) ——————>Name 是你要传的参数的类型,name是你要穿的参数,动态获取所以要一个一个name作为标识,传递你要穿过去的参数
{
this.name=name;
}
public Name getName()
{
return name;
}
public static void main (String[] args)
{
Name n = new Name("悟空","孙");
Person p = new Person(n) ————> 注意 Name 在new实例化之后 有了一个新的名字叫 n 自行看上一行
//Person 对象的name 的firstName值为 悟空 ——————> 注意看第五行 public Name(String firstName ; String lastName ),你在对比看赋值 new Name("悟空","孙"); 是不是很眼熟这就是赋值firstName为 悟空
System.out.println(p.getName.firstName());
}
总结:初学者总是会有这些疑问,但是你要运用编程的思维来思考,对于电脑 你可以理解为 因为 ,所以 也就是面向对象编程。因为 class Name里面定义了 firstName; lastName;并且 你在主方法里面调用了class Name 因为 你写了public Name(String firstName ; String lastName )
{
this.firstName = firstName;
this.lastName = lastName;
}
}
所以你需要传过去 两个参数,也就是你的 Name n = new Name("悟空","孙");
你在看 class Person
定义的是需要一个 public Person (Name name) 也就是 类型为name的 参数
class name的 就是 name类型的所以
Person p = new Person(n) 可以将代表Name的 n放入到 Person方法里面
最后输出 并且调用 p里面的getName方法
由于getName方法里卖弄返回的是
return name;
所以可以调用 name方法里面的firstName值
你要认真的 看啥视频 并且 多多手打 慢慢你形成了 这种面向对象的 思维 java你就入门了
|