黑马程序员----------面向对象概述

                                       ----------------------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培训、期待与您交流! ----------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值