类属性对象的之间关系的研究
- 提问者网友:龅牙恐龙妹
- 2021-07-18 01:45
- 五星知识达人网友:春色三分
- 2021-07-18 02:58
前边谈了类和对象,还有字段,接下来就是方法,方法是什么呢?一个方法就是一个动作,简单的说,人睡觉,就是一个睡觉的方法,如public String sleep(){this.name+"在睡觉";},方法调用了类的成员变量name即在实例化对象后,People lisi = new People("李四","女",20); String msg = lisi.sleep();msg的值就是李四在睡觉,从这里可以看出来,类的内部的属性是可以随便调用的,但是要注意一个范围,因为name是成员级变量,所以类的内部所有地方都可以调用,还有一种变量就是局部变量,局部变量就会有作用范围了,他的作用范围就是在方法体内部有效,出了这个方法体就会消失了。如:public void test (){ int a = 100; System.out.println(a);} 这个a是在方法内部调用的,其他的方法是不认识a 的 除了test();这个方法,就不会有人认识了。说了这么多个方法,应该怎么定义方法呢?每个方法都有 访问修饰符 返回值类型 方法名(形参1,形参2.... ){ //方法体 具体的方法操作 } 这样就定义好了一个方法。上述说的方法都是公共方法,那么什么时候用private?根据访问权限可知,只有在本类可以访问、到其他的类中就算创建对象了,也不会访问到这个方法的,这是为什么呢?其实很简单private 修饰的方法 就相当于一个秘密,当然每个人都有密码是不想让别人知道的,所以只要你认为这个方法应该保密或者只有我可以用到,别的类没有必要访问的时候,就应该将属性修饰为private的。刚才的People只谈到了一个封装的概念,其实面向对象有3个很重要的概念:封装,继承,多态,这里我简单形容一下,类刚刚已经说了,它就是对象的汇总,那么,继承相当于在类的基础上再次进行汇总,例如,如果我们又一个教师类和一个学生类,那么他们共同具有的特征就是人类,而教师类在人类的基础上多出了自己的特征,即教师类继承人类后,可以再加入一些自己的属性方法等,而教师类不避在写入人类所有的特征,只需要继承一下就会全部都有了。多态简单说就是People people = new Teacher(); 我们看到了,简单的一种多态出现了,以前创建People类的时候,是这么实例化的 People p = new People();这里为什么换成了new Teacher();呢这就是多态的一种表现形式,先写一个简单的Teacher类看看吧 public class Teacher extends People{ //略 这里已经继承了人类的所有属性方法,还可以写自己的属性和方法 } 就是因为Teacher extends People这句话搞的鬼,因为Teacher继承了People,所以Teacher就是一个People的子类 他们之间的关系就是子类和父类的关系,Teacher is a People 的关系.那么如果创建教师对象的话 Teacher wangwu = new Teacher();你可以说wangwu这个对象是教师,也可以说wangwu这个对象是一个人。而wangwu这个对象具有的属性和方法就是所有教师具有的属性和方法+人类具有的属性和方法。如此可见,属性是对对象的描述,对象是类的具体表现,类是对象的总汇,
- 1楼网友:春色三分
- 2021-07-18 03:51