面向对象
1. 概述
把相关的数据和方法组织为一个整体来看待。
面向对象到面向过程,是程序员思想上从执行者到指挥者的转变。
2.类与对象
2.1 两者关系
类表示一个共性的产物,是一个综合的特征;对象是个体的特征
类必须通过对象才可以使用
类由属性和方法组成
3.类的创建
class 类名{
成员属性;
成员方法;}
类必须编写在.java文件中
一个java文件中可以存在N个类,但只能存在一个public修饰的类
java文件的文件名必须与public 修饰的类名完全一致
class Person{
String name;
int age;
char sex;
}
//定义格式
返回值类型 方法名称(形式参数列表){
方法体
return返回值;
}
//调用格式
对象名.方法名称(实际参数列表)
//方法定义:
void say(){
System.out.println()
}
int sum(int x,int y){
int z=x+y;
return z;
}
void xxx(){
if(true){
return;//表示结束方法
}
System.out.println(" ");
}
创建对象的格式
类名 对象名= new 类名();
person p=new Person();
对象属性赋值
对象名.属性名=值;
p.name="张三";
p.age=18;
//类与对象例子
public class Demo {
public static void main(String[] args) {
Book b1=new Book();
Book b2=new Book();
b1.name="钢铁是怎样炼成的";
b2.name="鲁滨逊漂流记";
b1.info="123456";
b2.info="789456";
b1.say();
b2.say();
}
}
class Book{
String name;
String info;
void say() {
System.out.println("书名:"+name+" 简介:"+info);
}
}
4.方法重载
一个类中定义的方法是允许重载的(相同的方法名称)
- 方法名称相同
- 参数列表长度 或 参数列表类型 或 参数顺序不同
- 注意:与返回值类型无关
5.构造方法的重载
public class Demo {
public static void main(String[] args) {
Person p1=new Person("柳威",21);
Person p2=new Person("柳威")
}
}
class Person{
Person(String name2,int age2){
name=name2;
age=age2;
}
Person(String name2){
name=name2;
}
String name;
int age;
void say(){
sysout;
}
}
匿名对象
对象在使用后会被当作内存垃圾,不能再使用
int num=new.Math().sum(100,200);
如果一个对象,准备使用两次或以上,一定要创建对象名!
public static void main(String[] args){
new Person5().name="张三";
new Person5().age=20;
new Person5().say(); //输出null 和 0 因为没有指定对象名称 每次调用都不是同一对象
}