A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李振在黑马 中级黑马   /  2015-9-18 22:48  /  502 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

面向对象
面向对象相当于面向过程而言
面向对象和现象过程是一种思想
面向过程强调功能行为
面向对象
将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。
面向对象:封装,继承,多态。
开发就是找对象,建立对象,使用对象,维护对象的关系。
类就是对现实生活中事物的描述。例姓名年龄。
对象就是这类事物实实在在存在的个体。例张三李四。
映射到java中就是class定义的类描述对象的属性和功能。
具体对象就是对应java在堆内存中用new建立实体。
实例:生产汽车需要用到图纸。图纸就是类;
汽车就是内存中的对象。
定义在函数外的变量称之为成员变量。作用于整个类中。在堆内存中,因为对象的存在而存在。
局部变量作用于函数或语句中,存在于栈内存中。
匿名对象调用属性没意义,调用方法才有意义。
1当对象的方法只调用一次时,可以使用匿名对象,如果对一个对象进行多个成员调用时,必须给这个对象起名字。
2匿名对象可以作为实际参数进行传递。
封装
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
好处 1将变化隔离2便于使用3提高重用性4提高安全性
封装原则1将不需要的对外提供的内容都隐藏起来2把属性都隐藏,提供公共方法对其访问。

封装的小程序。

class Person{
        private int age;
                public void setAge(int a){
                        if(a>0&&a<130){
                            age=a;
                       speak();}
                    else
                            System.out.print("feifa");
                }
                //public int getAge(){
                //        return age;
        //        }
       
             void speak(){
                System.out.println("age="+age);}
        }
class FengZ{
        public static void main(String[] args){
                Person p=new Person();
               
                p.setAge(20);
        }
}
构造函数
特点:1函数名与类名相同2不用定义返回值类型3不可以写return语句
作用:给对象初始化。
注意:1默认构造函数的特点:对象一建立就会调用与之对应的构造函数。2多个构造函数是以重载的形式存在的。
当一个类没有定义构造函数时,那么系统会默认给该类加入一个构造函数。//类名(){}  当在类中自定义了构造函数,默认初始化就消失。
一个对象一建立,构造函数就执行且只执行一次
而一般函数调用时才会执行,且可以被调用多次。
什么时候定义构造函数?
当分析事物是,该事物存在具备一些特性或者行为,那么可以将这些内容定义到构造函数中。
构造代码块
作用给对象进行初始化
对象一建立就运行,而且优先于构造函数执行、
构造代码块是给所有对象进行统一初始化
中定义的是不同对象共性的初始化内容。
而构造函数是给对应的对象初始化。
this关键字
可以用来区分局部变量和成员变量重名的情况。
this代表所在函数所属对象的引用,简单来说哪个对象在调用该函数this就代表哪个对象
this的小程序
//当局部变量与成员变量名称相同时,this的应用。
class Person{
   private int age;
      private String name;
    Person(String name){
            this.name=name;
    }
    Person(String name,int age){
            this.name=name;
            this.age=age;
    }
   
         public void speak(){
            System.out.println("age="+age+","+"name+"+name);
    }
    }
            class TextThis{
            public static void main(String[] args){
            Person p1=new Person("zhangsan",23);
            Person p2=new Person("lisi",32);
            p1.speak();
        }
            }   
基础班开课了,跟课中,把发学习笔记的节奏给断了,希望以后能补上.

先总结到这里,this的引用代码还在练习中,.
           


2 个回复

倒序浏览
支持一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马