黑马程序员- 面向对象上

---------------------- android培训、 java培训、期待与您交流! ---------------------- 

1:class Person

{

      intage;

      voidshout()

      {

           System.out.println(“oh,mygod! I am “ + age);

      }

}

n       age是类的属性 ,也叫类成员变量 。

n       shout是方法也叫类的成员函数。

shout方法可以直接访问同一个类中的age变量 ,如果一个方法中有与成员变量同名的局部变量,该方法中对这个

变量名的访问是局部变量,而不再是成员变量

对象的产生new

通过属性来访问对象中的成员变量方法

2:equals:   ;两个对象的内容是否完全一样

== 两个变量的值是否相等

System.arraycopy()

比较数组的方式:arrays.sort

匿名对象如何传递参数

函数传递对象

在一个类中调用另一个类

避免一个类直接去访问另一个类的数据

 

封装就是get和set方法

强内聚:尽量在一个类里面实现(少一个类直去调用另一个类)

弱耦合:外面少的方法掉用

 

 

this 一个构造方法调用另外一个构造方法

构造函数特点:(没有返回类型)

*内部对象初始化*和类名一样

构造方法的重载: new 类名 参数列表

this  

classContainer

{

  Component comp;

  publicvoidaddComponent(){

    comp =newComponent(this);

    }

 classComponent{

     Container c;

     publicComponent(Container c){

        this.c = c;

     }

    

 }

}

一个构造方法调用另一个构造方法的情况

Public Person (String name)

{ this.name =name

public Person (String name ,int age)

{

this(name);

}

每个类中都有一个finalize() 方法,类似c++中析构函数

当一个对象变成垃圾的时候,

封装

Set

This.name = name

Get

 Return name

-*垃圾回收过程:

System.gc();

 

对象作为函数在

static 方法

非静态成员方法,方法被调用必定会产生一个对象

对象可以访问静态成员变量,静态变量被所有的实例共享

静态方法: 被存放在类的内存中的公共存储单元,而不是保存与某些对象的内存区域;非静态的方法和变量,需

要创建类的实例对象后才可以使用,而静态方法在使用前不用创建任何对象。

main () 方法是静态,因此在执行main方法时不创建main() 方法所在类的实例对象,所以在main()方法中我们

不能直接访问该类中的非静成员,必须创建该类的一个实例对象后,才能通过这个对象去 访问类中的非静态成员

non-static method  cannot be refereaced from a static context

 

单态设计模式:

采用一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只能提供一个其对象实例的

方法

*一个类怎样在内存中只创建一个对象(单态)

 内部类

Class Outer {

 Int outer_i= 100;

 voidteat (){

Inner in = new Inner();

in.display();

}

   classInner

void display(){

System.out.println(“outer_i =” + outer_i);

}

Public static void main(String [] args)

{

Outer outer = new Outer();

Outer.test();

}

}

加static 的内部类

在类中直接定义的内部类:

如果函数的局部变量,内部类的函数变量,外部类的成员变量重名。应该怎么写程序代码来明确我们真正要访问的

变量

内部类如何被外部类引用

在类的方法中定义的内部类

使用Java文档注释:用javadoc(bin目录下)

 

---------------------- android培训、 java培训、期待与您交流! ----------------------

你可能感兴趣的:(黑马程序员- 面向对象上)