java基础学习day08总结
来源:互联网 发布:独立域名网站 编辑:程序博客网 时间:2024/05/02 01:51
1.面向对象,面向过程
(1)面向对象,面向过程都是一种思想,面向对象是相对面向过程来来说的;面向过程强调的是执行的过程,而面向对象是将功能进行封装,对功能进行调用,强调的是调用,比如人打开门的过程,门打开则是面向过程,而人打开门则是面向对象的过程。
(2) 面向对象的三大特点:封装;继承;多态
2.类和对象
(1)类就是对现在生活的事情的属性,方法的描述(好比图纸)
(2)对象就是现实生活中真实存在的实体(生产的汽车)Car c =new Car();
3.成员变量和局部变量
(1)作用范围:成员变量位于类内方法外,在整个类中有效;局部变量位于方法体内,只在方法体或者语句中有效
(2)内存存储:成员变量存储在堆内存中,局部变量存储在栈内存中
(3)初始化值不一样:成员变量有默认初始化值,比如String 默认为null;局部变量需要手动初始化;
4.匿名对象 new Person()
(1) 利用匿名对象调用成员变量时没有意义
(2)当对方法只调用一次时的,采用匿名调用将减少内存空间的利用率
(3)匿名对象可以作为实际参数
5.封装
(1)将不需要对提供的属性方法隐藏起来
(2)需要对外提供公共访问方式 可以通过setXxx,getXxx方法
(3)private 关键字,是一个权限修饰符,用于修饰成员变量,成员方法,将成员变量私有化后,只能被本来访问,其他类不能访问,可以通过setXxx,getXxx 访问,提供访问的安全性
6.构造函数
(1)构造函数必须与类名相同,而且没有返回值类型,也不能用void;用于给对象的属性初始化的
(2)在一个类中可以定义多个构造函数,要是可以重载,只要形式参数不一样
(3)构造函数不是程序员调用,而是系统自动调用,但类中定义了构成函数时,系统将不会有默认的构造函数
7.this的用法
(1).用来区分成员变量与局部变量
(2)this谁调用this就代表谁
(3)当this放在构造函数的第一行的时候,可以用于对本类构造函数的调用
8.构造代码块
当对象都有具有同一属性时,可以利用构造代码块,每new一个对象可以执行一次构造代码块
9. 当Person p =new Person();
(1)Person.class 加载进入内存
(2)在堆内存中开辟一个Person p 的空间
(3)获得一个地址值
(4)进行默认初始化
(5)进行显示初始化
(6)进行构造代码块初始化
(7)进行构造函数初始化
(8)将地址值赋给变量P
9.static关键字
(1)用于修饰成员变量,成员方法
(2)特点:a.随之类的加载而加载,随之类的消失而消失,生命周期长
b.优先于对象存在,明确一点,静态先存在,对象后存在
c.被所有的对象共享
d.可以被类名调用
(3)实例变量和类变量的区别
a.存放位置:类变量存在方法区中;实例变量存在堆内存中
b.生命周期 类变量随着类的消失而消失,实例变量随对象的消失而消失
(4)静态使用的注意事项
a.静态只能访问静态的成员
b.非静态静态非静态都可以访问
c.静态方法中不可以出现this super 这些关键字,因为静态优先于对象存在
(5)静态的利弊端
利:对共享的数据开辟一个单独空间存储,没必要每个都有开辟,节省了内存空间
弊端:生命周期过长,访问的局限性
(6)当有对象共享的数据时,可以定义static变量,当功能内部没有访问到对象的特有数据时,可以定义静态方法
10.主函数
public static void main(String[] args)
11API文档的生产
12.设计模式(单例设计模式)
(1)饿汉式:
class Single {
private Single(){};//不让创建对象
private static Single s= new Single();//自己在本类中创建对象
public static Single getInstance () {//提供一个公共的访问方法
return s;
}
}
(2)懒汉式:
class Single {
private Single() {};//不让创建对象
private static Single s;//声明一个Single 的变量
public static Single getInstance(){
if(s==null)
{ s=new Single() };
return s;
}
}
class SingelDemo {
public static void main(String[] args) {
Single s1=Single.getInstance();
Single s2= Single.getInstance();
System.out.println(s1==s2);
}
}
- java基础学习day08总结
- Java基础Day08笔记
- day08(java总结)
- Java学习day08
- java学习day08
- 黑马程序员--Java基础Day08
- JAVA-day08 下午-总结、测试
- Java day08 异常总结练习
- 基础学习day08——Service
- Day08第八天java基础-----------多态
- java基础视频25days(毕老师)学习日志(day07、day08、day09、day10)
- 21天学通Java学习笔记-Day08(数据结构)
- 黑马程序员 java学习笔记(day08)
- java学习之day08--内部类
- 黑马程序员_Java基础_我的Day08学习笔记
- 【幻化万千戏红尘】qianfeng-Android-Day08-基础学习:ListView
- Java基础:Day08笔记内容 (变量、匿名)
- JAVA基础day08 多态特性 object类
- map容器
- Android百度地图 - 路径规划(驾车、步行和公交线路搜索)
- JS的Document属性和常用方法
- Problem 2088 最长队名 字典序,qsort考察
- javascript 学习笔记3-构造函数、类和原型
- java基础学习day08总结
- new和delete重载
- java 怎么确保输入整型 InputStreamReader BufferedReader
- IOS之KVC,KVO,KVB
- Myeclipse修改Servlet模板类操作
- 黑马程序员:如何结束线程及线程中的其他方法介绍:interrupt()、join()、yield()等方法
- 原型模式
- Mysql问题Access denied for user 'root'@'localhost'问题的解决
- 自适应参数估计+滑模变结构控制高超声速飞行器(源代码)