1,面向对象:
2,发展:机器语言(0101) 汇编语言(操作系统) 高级语言(c) 面向对象(java)
3,万事万物皆对象
人法地,地法天,天法道,道法自然
床前明月光,疑是地上霜,举头望明月,低头思故乡
4,一类相同属性的对象集合(抽象)–类
5,类,对象
6,属性-是对类和对象的静态描述
7,方法- 动态描述
public 返回值类型 方法名(参数列表){
方法体
}
返回值类型 return void
方法名:标识符(驼峰)
参数列表:p.eatFood(“刀削面”); 实参 String food --形参
8,创建对象Person p = new Person();
9,调用 对象名.属性[方法]
10,内存模型 new :开辟空间
11,方法的重载:方便记忆
要求:方法名相同 参数必须不同(个数,类型,顺序)
12,构造函数:构造方法 :
1)语法结构:public + 类名(参数列表){方法体}
2)作用:创建对象 初始化属性
3)当没有显示声明构造函数时,系统会默认提供一个空的构造函数(缺省构造函数)
4)当显示声明构造函数,系统则不提供
5)当形参名和属性名相同。用this区分
13,this:即将出现的对象
this():调用当前类构造函数,放在第一行
this.:调用属性或者方法
【练习题】01.类的成员变量:
设计一个立方体类Box,定义三个属性,分别是长,宽,高。定义二个方法,分别计算并输出立方体的体积和表面积
public class Box {
double length;
double width;
double height;
public double volume(double length,double width,double height){
return length*width*height;
}
public double area(double length,double width,double height){
return (length*width+width*height+length*height)*2;
}
}
【练习题】02.构造方法:
编写Java程序,用于显示人的姓名和年龄。
定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
在main方法中创建人类的实例,然后将信息显示。
public class Person {
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public void display(){
System.out.println(name+" "+age);
}
public static void main(String[] args) {
Person p=new Person("张三", 20);
p.display();
}
}
【练习题】03.get方法和set方法
定义一个类,该类有一个成员变量,通过构造方法将其进行赋初值,并提供该成员的getXXX()和setXXX()方法
public class Name {
String name;
public Name(String name){
this.name=name;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public static void main(String[] args) {
Name n=new Name("张三");
n.setName("李四");
n.getName();
System.out.println(n.getName());
}
}
【练习题】04.构造方法与重载
为“无名的粉”写一个类:class WuMingFen 要求:
1.有三个属性:面码:String theMa 粉的份量(两):int quantity
是否带汤:boolean likeSoup
2.写一个构造方法,以便于简化初始化过程,如:
WuMingFen f1 = new WuMingFen(“牛肉”,3,true);
3.重载构造方法,使得初始化过程可以多样化:
WuMingFen f2 = new WuMingFen(“牛肉”,2);
4.如何使得下列语句构造出来的粉对象是酸辣粉、2两、带汤的?
WuMingFen f3 = new WuMingFen();
5.写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
public class WuMingFen {
String theMa;
int quantity;
boolean likeSoup;
public WuMingFen (String theMa,int quantity,boolean likeSoup){
this.theMa=theMa;
this.quantity=quantity;
this.likeSoup=likeSoup;
}
public WuMingFen (String theMa,int quantity){
this.theMa=theMa;
this.quantity=quantity;
this.likeSoup=true;
}
public WuMingFen( ){
}
public void check(){
System.out.println(theMa+" "+quantity+" "+likeSoup);
}
public static void main(String[] args){
WuMingFen f1 = new WuMingFen("牛肉",3,true);
WuMingFen f2 = new WuMingFen("牛肉",2);
f1.check();
f2.check();
}
}