本周快要结束了,菜鸟来报个到吧。
本周把类与对象简单学习了,主要汇报一下学习的知识;在java语言中,类中对象的行为是以方法的形式定义的,对象的属性是以成员变量的形式定义的,所以类包括对象的属性和方法;面向对象程序设计的特点:封装性、继承性、多态性;
this关键字:首先this关键字指向的是当前对象的引用,
作用:1、this.属性名称 指的是访问类中的成员变量,用来区分成员变量和局部变量,
private void setName(String name){
this.name=name; //将参数值赋予类中的成员变量
} 前边的name是成员变量,而后边的是参数,如果只写成 name=name;那只是把参数name赋值给参数变量本身而已,成员变量name的值没有变,因为参数name在方法的作用域中覆盖了成员变量name;
2、this.方法名称 用来访问本类的成员方法
3、this() 访问本类的构造方法 ()中可以有参数,如果有参数,就是调用有参构造;注意:this()只能写在构造方法中,必须是构造方法中的第一条语句;
类的主方法:
public static void main(String[] args){
//方法体
}
1 主方法是静态的,所以如要直接在主方法中调用其他方法,则该方法必须也是静态的。
2 主方法没有返回值。
3 主方法的形参为数组,其中args[0]~args[n]分别代表程序的第一个参数到第n个参数,可以使用args.length获取参数的个数。
成员变量只能被对象调用,而静态变量可以被对象调用,还可以被类名调用。
静态成员变量又称类变量,静态成员方法又称类方法,它们统称为静态成员或类成员。静态成员由static修饰,是属于整个类的,所有的对象共享这些静态成员。不需要创建任何对象,静态成员在类装载时就已初始化了,整个运行期间其内存位置不变,直到类卸载。鉴于静态成员的这些特性,访问静态成员变量以及定义或调用静态成员方法时与非静态成员也有不同之处。下面分别做出说明。
1.静态成员变量
- 类的非静态成员方法、静态成员方法都可以直接访问静态成员变量
- 其他类要访问某个类的静态成员变量,既可以通过实例名访问,也可以直接用类名来访问,推荐用类名访问的方式,这样能更直观的说明访问的变量是静态成员变量
2.静态成员方法
- 不能直接访问非静态成员变量,也不能直接调用非静态成员方法,需要实例化一个对象,再通过该对象来访问要访问的非静态成员变量或要调用的非静态成员方法。也就是说,静态成员方法不能直接使用非静态成员。个人理解是,非静态成员变量是依托对象而存在的,当没有实例一个对象时,非静态成员变量是没有分配内存空间的,静态方法要使用非静态成员变量不知道要到哪里去找,当然就不能直接使用非静态成员变量了。而非静态成员方法有有可能访问非静态成员变量,所以也不能直接调用非静态成员方法了。
- 其他类要调用某个类的静态成员方法,既可以通过实例名调用,也可以直接用类名来调用,推荐用类名调用的方式,这样能更直观的说明调用的方法是静态成员方法