黑马程序员-----java 面向对象编程

来源:互联网 发布:电脑怎么优化显卡性能 编辑:程序博客网 时间:2024/06/06 03:25

---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------


一、 面向过程的编程思想:以流程为中心,以完成每一步功能为目的。

        怎么实现一个个函数的功能,把这些函数组织起来完成整个流程。

    面向对象的编程思想:以事物为中心,以完成每一个类为目的。

        怎么封装一个个类,把这些类组织起来解决整个问题。

面向对象特征:封装、继承、多态;


二、类和对象

1、简介

1) 类(class):对一类型事物的共同特征和行为的概括和抽象。

2) 对象(Object):实际存在的一个事物个体。它是利用类来创建的,所以也叫类的实例(Instance)。

3) 类是对象的模板,图纸。对象是类的实例。

4) 类在代码的表现形式上,它就是一个代码单元,这个单元中包含了这一类事物的属性(成员变量)和方法(函数)。

  2、 构造方法:用来创建和初始化对象的一种特殊方法。

特殊之处:方法名与类名相同,无返回值,也不要有void.

1) 默认构造方法:不带参数的构造方法。没有显式提供构造方法时,Java编译器会自动添加一个默认的构造方法。

2) 参数化构造方法:带参数的构造方法。
   

3、使用new关键字调用类的构造方法可以创建出该类的一个对象。

  Person p = new Person();

  p.speck();

4、对象的使用

类里定义的方法和变量都可以通过类或者类对象进行调用

注意:

static修饰的方法和变量即可以通过类来调用也可以通过类对象调用;没有使用static修饰的普通方法和变量只能通过对象来调用;

5、this的使用方法

this关键字的作用是izai类自身的方法中引用该类的自身;

this==当前定义的类对象

当类中某个非静态方法的参数名(或局部变量名)跟类的某个成员变量名相同时,为了避免参数的作用范围覆盖了成员变量的作用范围,必须明确地使用this关键字来指

定成员变量

  在构造方法内代码的第一句使用this(实参列表),就可以显式调用本类中的其它构造方法。

三、封装

1、定义:指的是将对象的状态信息隐藏在内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对内部信息的操作和访问;

2、访问控制符:public、protected、private和default(默认);

访问控制级别(从小到大):private-->defaulte--->protected--->public 

private:如果类里的一个成员(属性或方法)使用private控制符修饰,则这个成员只能在该类的内部被访问;

default(包访问权限):如果类里的一个成员(属性或方法)不使用任何访问控制符修饰,那么它就是默认访问控制,可以被相同包下的其他类访问;

protected(子类访问权限):如果类里的一个成员(属性或方法)使用protected控制符修饰,则这个成员就可以被同一个包中其他类访问,也可以被不同包中的子类访问;一般用protected来修饰一个方法就是想其子类继承这个方法;

public(公共访问权限):如果类里的一个成员(属性或方法)使用public控制符修饰,则这个成员就可以被所有的类访问;

注意:

对于类而言,只能使用public和default两种访问控制符;

public class Person {

private String name;

private int age;

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;

}


}


---------------------- <a href="http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href="http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

详细请查看:<a href="http://edu.csdn.net" target="blank">http://edu.csdn.net</a>

0 0
原创粉丝点击