您的位置:首页 > 编程语言 > Java开发

慕课网 java第二季 面向对象

2015-11-28 18:45 337 查看

1-2 如何定义java中的类

类名(第一个字符大写),属性,方法

1-3如何使用java中的对象

创建:类型 对象名=new类型();//;类——实例化——对象(内存)

引用:对象名.属性

         对象名.方法

1-5 java的成员变量和局部变量

   成员变量可默认初始化

  局部变量不可以默认初始化

两类变量同名时,局部变量更有优先级

1-6构造方法

public 构造方法名(){

//初始化代码

}

没有返回值类型,与类名相同,可以指定参数

当有指定构造函数时,系统不会生成默认构造函数

1-7static使用之静态变量

静态成员可以使用类名直接访问,也可以使用对象名进行访问

1-9 static使用之静态方法

1.静态方法可以直接调用同类的静态成员,但是不能直接调用非静态成员,可以通过对象访问非静态成员

2.静态方法不能直接调用非静态方法,可通过对象访问非静态方法

1-10 static 使用之静态初始化块

public class helloworld{

string name;

static int age;

public helloworld{  //构造函数

}

{

name=”vcfs”;   //初始化块,创建类的实例时,会依次执行这些代码块,可包含多个初始化块

}

static

{

age=20;//静态初始化块,只在类加载时执行,且只会执行一次

}

              

2-1 什么是java的封装

修改属性的可见性(private)

创建getter/setter方法(用于属性的读写)

在getter/setter方法中加入属性控制语句(对属性值的合法值进行判断)

java没有.net的属性,属性,委托,事件,泛型

2-2 使用包管理java中的类

作用:管理java文件,解决同名文件冲突

定义包:package 包名    (全小写字母拼写)

     注:必须放在java源程序的第一行

       包名间可以使用“.”号隔开

使用:import  java.功能.类

2-3 访问修饰符

 

本类

本包

子类

其他

Private

yes

 

 

 

默认

yes

yes

 

 

Protected

yes

yes

yes

 

Public

yes

yes

yes

yes

2-5 内部类

public class helloworld{

public class inner{

public void show(){

}

}

public void main(String[] args){

helloworld hello==new helloworl(); //创建外部类对象

inner i=hello.new inner();  //创建内部类

i.show();

}

 

1.      内部类对象名=外部累.new 内部类();

2.      外部类不能直接使用内部类的成员和方法,可通过访问内部类的对象

3.      对外部类和内部类变量名相同时,内部类默认使用自己的成员变量或方法,如果要使用外部类的成员变量,可使用this关键字

 

2-7 静态内部类

1.      静态内部类不能直接访问外部类的非静态成员,但可以通过new外部对象访问

2.      对外部类和内部类静态变量名相同,可使用“类名.静态成员”访问外部静态成员

3.      创建静态内部类的对象时,不需要创建类的对象

可直接创建  内部类 对象名=new 内部类()

 

2-8 方法内部类

Public class helloworld{

Public void show(){

   Int a=5;

   Class inner{

}

}



内部类定义为外部类的方法中

方法内部类不能为类方法外部使用,因此不能使用访问修饰符和static修饰符

 

3、继承

类  单继承  只有一个父类  关键字 extends

3-5final关键字

修饰类:类不允许被继承

修饰方法:不允许重写

修饰属性:不允许隐式初始化,或在构造函数中赋值

修饰变量:只能赋值一次,即为常量

3-7super关键字   super()

在对象的内部使用,可以表示父类对象的属性,方法 super.属性  super.方法

1.  如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参构造方法

2.  如果显示调用构造方法(super()),必须在子类的构造方法的第一行

3.  如果子类构造方法中既没有显示调用父类的构造方法,父类又没有无参的构造方法,则编译出错

3-8 Object类

所有类的父类

1.tostring()   ,方法对象的对象地址字符串

           可以重写

2.equals()  ,对象的引用是否指向同一块内存地址

          若要比较值是否一致则需重写

4-2 引用类型的转换

隐式: 

强制:instanceof

   If(父类名instanceof 子类)

        子类  子类名 =(instanceof)父类;

4-3 抽象类abstract

   Abstract定义抽象方法,只有声明,不需要实现

   抽象类不能直接创建,可以定义引用变量

4-5 接口 interface

 【修饰符】abstractinterface 接口名【extends 父接口1,父接口2,…】

{

 零个或多个常量定义

零个或多个抽象方法定义

}

注:修饰符一般用public,因为接口是用来被继承被实现的

一个类可实现多个接口,使用implements

[修饰符]  class 类名 extends 父类 implements接口1,接口2,…

{

类体部分  //如果继承了抽象类,需要实现继承的抽象方法,要实现接口的抽象方法

}

 

接口类 接口名=new 类();

 

匿名内部类

Interface  i=new Interface(){

   Public void method(){  //匿名内部类实现接口的方式

}

};

i.method()

 

new Interface(){

   Public void method(){  //匿名内部类实现接口的方式

}. method();

 

4-7 UML简介

用例图 :角色,功能,需求

序列图:对象之间的交互顺序

建模工具: visio,rational rose,powerdesign 

    Powerdesign----language-----javacode  强大!!

数据模型分析:数据结构(属性,操作)

业务模型分析(明确应用程序必须执行哪些业务)

显示和流程分析

 

-

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: