1.面向对象程序设计:object originted programming,简称OOP
2.类与对象的定义(class and object)
- 类中包含了数据(名词)和对数据的操作(动词)。比如人就是一个类,人的身高,性别就是数据,人的吃喝拉撒就是操作了。
- 对象是一种具体的概念:人是一个类,张三,李四,王五就是具体的对象。
修饰符 class 类的名字 { //类的内容 }
修饰符 返回类型 方法名称([参数1,参数2,参数3....])
{
方法体
}
- 数据:数据在类中称作属性(Property或attribute)或者叫做成员变量(member)
- 定义在类中的变量为成为变量(必须要声明,但可以不赋初值,但都有一初始值),定义在方法中的变量为局部变量(使用前必须声明并赋初值)
- 成员变量的定义:
public class Person { 修饰符 类型 属性名称 }
- 命名约定:1.类(首字母大写,如果由多个字母构成,那么每个单词的首字母都大写,中间不使用任何的连接符) 2.方法:首字母小写。如果一个方法由多个单词组成,那么首个单词全部小写,从第二个单词开始首字母大写。3.属性与方法相同
- 对数据的操纵:在类中称为方法(Method)
- 方法的使用:
public class test
{
public static void main(String[] args)
{
test test1 = new test(); //类的实例化,test1是引用类型(如果一个引用类型对属性进行了修改,都会反映到其他的影像当中)
int result;
result = test1.add(1,2); //参数类型与个数一致
System.out.println(result);
result = test1.sub(1,2);
System.out.println(result);
result = test1.muti(1,2);
System.out.println(result);
result = test1.div(1,2);
System.out.println(result);
}
public int add(int a, int b)
{
return a + b; //返回值与方法类型一致
}
public int sub(int a, int b)
{
return a - b;
}
public int muti(int a, int b)
{
return a * b;
}
public int div(int a, int b)
{
return a / b; //如果return后直接加分号表示直接跳出方法
}
}
4.main方法是Java程序的入口点(必须有)
5.面向对象程序设计的三大特征:继承(Inheritance),多态(Polymorphism),封装(Encapsulation)。
6.封装:类包含了数据和方法,将数据和方法放在一个类中成为封装
7.方法的参数传递:无论传递的是原生数据类型还是引用类型,统一是传值(pass by value)。
public class ParamTest
{
public static void main(String[] args)
{
Person person = new Person();
person.change(person);
int age = person.age;
System.out.println(age);
int i = 10;
person.change2(i);
System.out.println(i);
}
}
class Person
{
int age = 20;
public void change(Person person)
{
person = new Person();
person.age = 30;
}
public void change2(int age)
{
age = 40;
}
}
- 构造方法的名字必须与类名完全一致(包括大小写)
- 没有返回值,连void都没有
- 如果在定义一个类的时候,没有为类声明构造方法,那么java编译器会自己为类添加一个没有参数且方法为空的构造方法(默认的构造方法)。
- 不能显示调用类的构造方法,通常通过new隐式调用
- 为对象开辟内存空间
- 调用类的构造方法
- 将生成的对象按地址返回
- new生成对象时,括号里的是构造方法参数