----------------------android培训、java培训、期待与您交流! ----------------------
前期说过java是一个面向对象的语言,那么究竟什么是面向对象呢?下面简单介绍一下面向对象。
1:面向对象
(1)面向过程 强调过程,执行者
(2)面向对象 强调对象,指挥者
(3)面向对象思想的特点
A:它是一种更符合人们思考习惯的思想
B:它是复杂的内容简单化
C:它是我们从执行者变成了指挥者
(4)面向对象的特点(也是面向对象的三大特性)
A:封装
B:继承
C:多态
2:类和对象
(1)类 对现实世界中事物的描述(属性和方法)
(2)对象 现实世界中实际存在具体的个体
3:局部变量和成员变量
(1)作用范围
局部变量:方法内
成员变量:类中,对整个类有效
(2)存储空间
局部变量:栈内存
成员变量:堆内存
(3)初始化值
局部变量:必须手动给值
成员变量:默认初始化值。
4:匿名对象的使用
(1)当对对象中的功能只执行一次的时候使用。否则,请你使用实名制对象。
Person p = new Person();
p.show();
p.show();
p.print();
new Person().show();
new Person().show();
new Person().print();
(2)用于作为实际参数进行传递。
method(new Person());
public static void method(Person p){}
4:封装
(1)封装的好处:便于重复使用,安全性高。
(2)private权限修饰符
class Demo
{
private int age;
public void setAge(int age)
{
if(age>100 || age<0)
{
System.out.println("年龄有误");
}
else
{
this.age = age;
}
}
public int getAge()
{
return age;
}
}
5:构造函数
(1)用途:用于创建对象,也有可能要进行初始化。
A:格式 类名(){//code}
B:Person(){}
(2)特点 你不给,系统会自动给一个空参构造,你给了,系统就不给了。
(3)重载构造函数
A:Person(){}
B:Person(String name){}
C:Person(int age){}
D:Person(String name,int age){}
注意:构造还可以用于给属性赋值。
6:this关键字
(1)代表当前对象的引用。使用的时候,谁调用方法,this就代表谁。
(2)什么时候使用this呢?
A:用于局部变量隐藏成员变量。
B:写功能的时候,可能用到this。比如,compare()
C:构造函数中使用this
**this() 必须放在第一行。
同下面的道理:
Person(String name)
{
this.name = name;
}
Person(String name,int age)
{
this.name = name;
//this(name);//是找带一个字符串类型参数的构造方法
this.age = age;
}
public static int sum(int a,int b)
{
return a+b;
}
public static int sum(int a,int b,int c)
{
return a+b+c;
//return sum(a,b)+c;
//return sum(sum(a,b),c);
}
一个简单的学生类package p1;
public class Student{
//成员变量
private String name;
private int age;
//构造方法
public Student(){
}
public Student(String name,int age){
this.name = name;
this.age = age;
}
//set\get方法
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
}
----------------------android培训、java培训、期待与您交流! ----------------------