面向对象的概念
其实上面向对象是一种组件化思想,就是将一个完成某件事的过程独立分离成多个模块,每个模块负责不同的业务,每个模块课相互调用其功能,这样方便维护同时可以实现代码的重复调用。
面向对象的特征
封装性,继承性,多态性
Java中方法的定义
public:是方法的修饰符,控制了方法的使用范围(后面的内容)
static:表示该方法是一个静态方法,属于类,不属于对象,可以直接使用类名访问(后面的内容)
void:表示该方法没有返回值,有返回值的方法需要在方法体中使用return关键字返回具体的值。
main:表示方法名称,命名规则遵循低头驼峰原则。
String 【】 args:表示使用该方法的时候需要传递参数。
主方法是我们现在程序的入口,而且主方法不能修改(只能按照原来固定的写法)
定义方法
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//计算出三角形面积
double area1 =fun1(10, 5); //接受返回值
//矩形面积
double area2=fun2(10, 10);
System.out.println("三角形的面积是"+area1);
System.out.println("三角形的面积是"+area2);
}
/**
* 该方法是计算三角形面积的方法
* @param base 底边长
* @param height 三角形的高
* @return 返回最后面积
*/
public static double fun1(double base,double height) {
return base*height/2;
}
/**
* 计算矩形的面积的方法
* @param length 矩形的长
* @param width 矩形的宽
* @return 返回矩形面积
*/
public static double fun2(double length,double width) {
return length*width;
}
}
方法在调用的时候要给定对应类型的参数
方法如果有返回值那么方法体中需要有return关键字返回对应类型的具体值
方法如果有返回值,则这个值返回给调用处,可以在调用处接受这个值
实参的来源可以是调用处直接给出的参数,也可能是调用的方法中传递过来的参数。
类和对象的基本概念
在Java中类和对象是其基本组成单位,如果要为类和对象做一个基本定义,那么类就是事物的抽象特征的集合,对象就是这些抽象特征的具体产物。
定义一个人类(变量类型+变量名)
package com.bai.demo;
//定义了一个规范人信息的类
public class Person {
//名字
String name;
//身高
String height;
//体重
double weight;
//年龄
int age;
//性别
char sex;
//表示人的行为的方法
public static void run() {
System.out.println("我正在跑步");
}
public static void eat() {
System.out.println("我正在吃饭");
}
}
上面代码中几个关键字public,static,void后面分析,先不管。
创建一个Person对象
声明并且创建:类型 对象名=new 类型();
先声明再创建:类型 对象名;
对象名=new 类型();
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//创建对象的第一种方法
Person per1=new Person();
System.out.println(per1);
//创建对象的第二种方法
Person per2;
per2=new Person();
System.out.println(per2);
}
}
对象的属性和方法访问
访问属性
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//创建一个Person类的对象,此时对象的属性就是对应类型的默认值
Person per1=new Person();
//操作对象的属性
per1.name="张三";
per1.sex='男';
per1.height=180.0;
per1.weight=70.0;
System.out.println("我的名字是:"+per1.name);
System.out.println("我的性别:"+per1.sex);
System.out.println("我的身高:"+per1.height);
System.out.println("我的年龄:"+per1.age);
System.out.println("我的体重:"+per1.weight);
}
}
执行"person per1=new person();" 的时候创建了对象,但是没有为对象的属性赋值,那么属性的值还是初始值。
调用对象的方法
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//创建一个Person类的对象,此时对象的属性就是对应类型的默认值
Person per1=new Person();
//调用对象的方法
per1.eat();
per1.run();
}
}
调用方法使用的是“对象名.方法名()”
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//创建一个Person类的对象,此时对象的属性就是对应类型的默认值
Person per1=new Person();
//调用对象的方法
per1.eat(); //类的对象调用
per1.run();
/*
Person.eat(); //类名称调用
Person.run();
*/
}
此时发现不了创建对象也可以调用类的方法,直接通过类调用方法,原因是这类型的方法是static修饰的,所以可以通过类名称调用,也可以通过该类的对象来实现调用,使用static修饰的方法是静态方法(静态方法可以使用类名称调用,非静态方法只能使用通过类的对象调用)
package com.bai.demo;
public class Hello {
public static void main(String[] args) {
//创建对象
Person per1=new Person();
per1.eat(); //没有static,只能使用类的对象调用
per1.run();
}
}
总结:
1.以生活中是事物为背景创建五个类,每个类的成员变量不能少于三个,成员方法不能少于三个,而且要命名规范。之后再使用每个类创建一个对象,再实现为对象的变量赋值和调用对象。