慕课网 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、继承
类 单继承 只有一个父类 关键字 extends3-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 强大!!
数据模型分析:数据结构(属性,操作)
业务模型分析(明确应用程序必须执行哪些业务)
显示和流程分析
-
相关文章推荐
- 使用了Spring boot devtools, dozer转换嵌套对象失败解决记录
- java.util.ResourceBundle使用详解
- 关于开发项目的注意事项-以javaEE为例
- Eclipse中如何设置JSP的模板为pageEncoding="UTF-8"?
- 朝花夕拾——初探Java虚拟机及其加载过程
- Java自定义异常类
- ztree+java后台取数据(包括异步)生成树状图
- Know Your Stack - Scala to Java to Bytecode to Assembly
- java流操作对文件的分割和合并
- springmvc练习
- 解决Perhaps you are running on a JRE rather than a JDK?问题
- ----基础总结----
- JDK 和 JRE 的配置 。
- java 集合 有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数
- Spring 的扩展机制测试
- 夯实JAVA基本之二 —— 反射(2):泛型相关周边信息获取
- java 集合 从类似如下的文本文件中读取出所有的姓名,并打印出重复的 * 姓名和重复的次数,并按重复次数排序:
- 如何加快Eclipse的启动速度?
- eclipse不能修改dynamic web module version的解决办法
- 七牛CDN部分JAVA使用教程