目录
1.引言
在上次所写的重写Object类下的equals方法可能对Java新手或者是没有接触过面向对象的Java爱好者很不友好,所以在接下来的几篇文章中我们将对面向对象的知识点进行详细的梳理。
2.类和对象相关知识点
(1)世界的组成
世界是由对象组成的,对象可以是我们身边的各种事物,例如床具和窗户等都可以是对象。而对象是由属性和方法组成的,床具和窗户作为对象亦是如此。床具和方法的属性可以是其颜色、形状等,而其方法便可以是睡觉和通风。
(2)类和对象的关系
对象是类的具体表现形式。
类是对象的抽象。
(3)对象的创建和使用
类名 对象的引用=new 类名();
使用对象的引用"."的方法调用。
如图我们在同一个包下创建了两个类,分别为Class和MyClass:
对象的创建和使用如以下代码所示:
MyClass类:
public class MyClass {
int a;
String str;
}
TestMyClass类:
public class TestMyClass {
public static void main(String[] args) {
MyClass myClass=new MyClass();
myClass.a=520;
myClass.str="我爱你";
System.out.println(myClass.a+myClass.str);
}
}
(4)方法
①方法的定义
方法就是指对象的某个功能。
②方法的语法
访问修饰符 返回值类型 方法名(){
}
如:
public void mmethd(){
}
public String show(){
return " ";
}
如果方法中是void则表示没有返回值
如果方法中有其他的数据类型则需要有return,且return之后的数据类型需要和方法中声明的一致,如上述代码所示。
③方法的调用
a.同一个类中方法的调用
public int getA() {
return a;
}
public void getB(){
getA();
}
b.不同类中方法的调用
class A{
public void method(){
}
}
class B{
public static void main(String[] args) {
A a=new A();
a.method();
}
}
④方法的使用场景
a.一个参数的方法
public class Dog {
String name;
public String Name(String name){
this.name=name;
return name;
}
}
b.多个参数的方法
public class Dog {
String name;
int age;
double health;
public void Name(String name,int age,double health){
this.name=name;
this.age=age;
this.health=health;
}
}
c.数组作为参数的方法
public class Student {
String[] arr=new String[10];
public void arr(String arr[]){
for (int i = 0; i <arr.length ; i++) {
this.arr[i]+=10;
}
}
}
d.对象作为参数的方法
public class Goodman {
public void method(Dog dog){
dog.health=100.0;
dog.name="大黄";
dog.age=6;
}
}
⑤变量的作用域
a.种类:局部变量和全局变量
全局变量:在类以内方法以外位置的变量。
局部变量:声明在方法内部的变量
b.全局变量和局部变量的异同点:
相同点:都是用来接收用户输入的值,都会在内存中开辟对应大小的空间。
不同点:
全局变量:全局变量有默认值,全局变量可以在方法中有重名的变量。
局部变量:局部变量没有默认值,在同一个方法中不可以有同名的变量。
使用方法:就近原则。