面向对象;
学习的三条主线:Java类及类的成员、面向对象的三大特征、其他关键字;
面向对象的三个特征:封装继承和多态;
Java由多种不同的类组成,属性对应类中的成员变量,行为对应类中的成员方法;
public class Person{//创建一个称为Person的类;
//属性(成员变量),可以先声明后初始化,其有默认值(0或null);
String name;//默认值为null;
int age;//默认值为0;
//行为(方法或函数),
public void showName(){//注意命名方式为驼峰命名法;
System.out.println("姓名:"+name);
}
public int getAge(){//若为有返回值的方法,则方法体最后一行一定为用return返回相应的数据;
return age;
}
public void eat(String food){//小括号中的属性成为形参;
System.out.println("事物:"+food);
}
}
对象的创建和使用;
将上面所给的类实例化的方式:使用new创建一个新对象;例如:
public class Test{
public static void main(String[] args){
Preson person=new Person();//实例化Person类,相当于用上面那个类创建了一个数据类型;
person.name="张光宇";//给person对象的name属性赋值;
person.showName();//对象方法的调用;
person.age=20;
int i=person.getAge();
System.out.println(i);
person.eat("苹果");
}
}
一个类中可以创建多个对象;例如:
public class Test{
public static void main(String[] args) {
Person p1=new Person();
Person p2=new Person();
p1.name="Alyssa";
p1.showName();
p2.name="James";
p2.showName();*/
}
}
类的属性;
语法格式为:修饰符 类型 属性名 = 初值;
修饰符:private:该属性只能由该类的方法使用;public:该属性可以被该类以外的方法访问;
类型:任何基本类型如int, boolean等;
变量的分类;
写在类中的变量为成员变量,写在方法中的变量为局部变量;
成员变量:实例变量(不以static修饰),类变量(以static修饰);
局部变量:形参(方法签名中定义的变量),方法局部变量(在方法内定义),代码块局部变量;
实例变量(不以static修饰)即实例化成对象之后才能使用的变量;
而类变量不需要实例化就可使用,即不需要new个新对象;
局部变量没有默认初始化值(形参除外),且不适用修饰符;
方法的调用;
方法只有被调用才能被执行;
没有具体返回值时,类型用关键词void替代表示,return可省略不写;
方法中只能调用方法,不可以在方法内部定义方法;
同一个类中,所有方法可以直接互相调用,不需要new;
public class Test{
public static void main(String[] args) {
Test t=new Test();
int area=t.getArea(3,3);
System.out.println(area);
double S=new Test().getS(10);//匿名对象型;
System.out.println(S);
}
//注意以下两个方法和实例化对象创建在了一个类里;
public int getArea(int x,int y){
return x*y;
}
public double getS(int r){
return 3.14*r*r;
}
}
方法的重载;
在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可;调用时根据方法参数列表的不同来区别;例如:
public class Test{
public int add(int x; int y){
return x+y;
}
public double add(int x; double y){
return x+y;
}
public int add(int x; int y; int z){
return x+y+z;
}
}