构造器
**一个在创建对象时 被自动调用的特殊方法
作用:初始化对象 为对象进行初始化工作**
构造器是一种特殊的方法:
构造器的方法名必须和类名一致!
构造器虽然有返回值,但是不能定义返回类型(返回值的类型肯定是本类),不能在构造器里调用return。
通过new关键字调用!!
如果我们没有定义构造器,则系统会自动定义一个无参的构造方法。如果已定义则编译器不会添加无参数构造方法!
与普通方法一样,构造方法也可以重载
定义一个抽象类
/*老虎类
* */
public class Tiger {
int age;//年龄
String name;//名字
String coler;//颜色
//无参构造方法
public Tiger(){
}
//有参构造方法
public Tiger(int age,String name,String coler){
this.age=age;
this.coler=coler;
this.name=name;
}
//方法
public void eat(){
System.out.println(name+"在吃");
}
}
定义一个类接收对象
public class LiXi4 {
public static void main(String[] args) {
//通过new关键字创建对象是会调用老虎类的无参构造方法
Tiger t=new Tiger();
//通过对象名掉属性
t.name="东北虎";
//调方法
t.eat();
}
}
方法调用中的参数传递(重中之重)
基本数据类型的参数传递:不能改变参数的值
引用数据类型的参数传递:不能改变参数的值
this
package com.sxt.miaxiang;
/*测试this*/
public class Tisethis {
String name;//名字
String sex;//性别
//有参构造方法
public Tisethis(String name, String sex) {
super();
//代表当前对象(谁调用对象就是谁)
this.name = name;
this.sex = sex;
}
//无参
public Tisethis(){
}
//方法
public void eat(){
System.out.println(name+"在吃饭");
}
}
This代表当前对象自身的引用(必须new)
This可以修饰属性,区别成员变量和局部变量
This修饰方法
This修饰构造方法(必须是第一条语句)
this的作用:
this表示的是当前对象本身,
更准确地说,this代表当前对象的一个引用。
普通方法中使用this。
区分类成员属性和方法的形参.
调用当前对象的其他方法(可以省略)
位置:任意
构造方法中使用this。
使用this来调用其它构造方法
位置:必须是第一条语句
this不能用于static方法
static
static变量:只有一份,属于类,可以类名. Static变量
static方法: 类名. Static方法,不能出现this
用static声明的方法为静态方法
不需要对象,就可以调用(类名.方法名)
在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。强调内容
如果希望加载后,对整个类进行某些初始化操作,可以使用static初始化块*。
类第一次被载入时先执行static代码块;类多次载入时,static代码块只执行一次;Static经常用来进行static变量的初始化。
是在类初始化时执行,不是在创建对象时执行
public class LianXi {
//静态初始化代码只执行一次
static{
System.out.println("静态初始化代码向执行");
}
public static void main(String[] args) {
System.out.println("在static后执行");
}
}
super
static代码块:只执行一次,最早执行的(类第一次调用)
package import
包:作用
导入:import com.bjsxt.oop.*;
静态导入: import static java.lang.Math.PI;