Java--面向对象
2017-07-24 21:18
176 查看
1.面向过程:完成一个功能的具体步骤,例如,C语言,整个过程中,自己是执行者
面向对象:
(1)更符合日常思想行为习惯
(2)我们从执行者变成指挥者
(3)将一个复杂问题简单化!
特征:封装,继承,多态
开发:创建对象,适用对象,指挥对象做事
2.成员变量和局部变量的区别:
位置不同:成员变量:类中,方法外
局部变量:在方法定义上,或者方法定义中
内存位置不同:成员变量:堆内存
局部变量:栈内存
生命周期不同:成员变量:随着类的加载而加载,随着类的对象的消失而消失
局部变量:随着方法的调用而存在,随着方法调用完毕而消失
初始化值不同:成员变量:系统根据数据类型默认初始化值,引用类型(比如String类型)为null
局部变量:必须有初始化值或者在使用这个局部变量之前赋值,无默认初始化值.
3.如何调用类中的成员方法?
1)
创建对象使用对象调用方法
2)
类名.对象名=new 类名();
3)
对象名.成员变量;
4)
对象名.成员方法();
4.static关键字的特点:随着类的加载而加载,优先于对象存在 ,被static修饰的,在内存中只加载一次
构造代码块,静态代码块,构造方法的优先级?
静态代码块>构造代码块>构造方法
(1) 局部代码块:局部位置,用于限定变量的生命周期
(2) 构造代码块:类中的成员位置,在执行构造方法之前,必须执行构造代码块中的内容
(3) 静态代码块:在类中成员位置,static{}在类中只加载一次
5.student() s=new student();做了几件事?
1). 加载了student.class文件到内存
2). student s在栈内存为s对象开辟空间
3). newstudent()在堆内存中S对象申请堆内存空间
4). 成员变量进行系统的默认初始化
5). 成员变量显示初始化
6). 创建对象,通过构造方法进行数据初始化
7). 最终成员变量内存分配完毕,将堆内存地址值赋值给栈内存,整个对象创建完毕
6.面向对象的程序举例:
面向对象:
(1)更符合日常思想行为习惯
(2)我们从执行者变成指挥者
(3)将一个复杂问题简单化!
特征:封装,继承,多态
开发:创建对象,适用对象,指挥对象做事
2.成员变量和局部变量的区别:
位置不同:成员变量:类中,方法外
局部变量:在方法定义上,或者方法定义中
内存位置不同:成员变量:堆内存
局部变量:栈内存
生命周期不同:成员变量:随着类的加载而加载,随着类的对象的消失而消失
局部变量:随着方法的调用而存在,随着方法调用完毕而消失
初始化值不同:成员变量:系统根据数据类型默认初始化值,引用类型(比如String类型)为null
局部变量:必须有初始化值或者在使用这个局部变量之前赋值,无默认初始化值.
3.如何调用类中的成员方法?
1)
创建对象使用对象调用方法
2)
类名.对象名=new 类名();
3)
对象名.成员变量;
4)
对象名.成员方法();
4.static关键字的特点:随着类的加载而加载,优先于对象存在 ,被static修饰的,在内存中只加载一次
构造代码块,静态代码块,构造方法的优先级?
静态代码块>构造代码块>构造方法
(1) 局部代码块:局部位置,用于限定变量的生命周期
(2) 构造代码块:类中的成员位置,在执行构造方法之前,必须执行构造代码块中的内容
(3) 静态代码块:在类中成员位置,static{}在类中只加载一次
5.student() s=new student();做了几件事?
1). 加载了student.class文件到内存
2). student s在栈内存为s对象开辟空间
3). newstudent()在堆内存中S对象申请堆内存空间
4). 成员变量进行系统的默认初始化
5). 成员变量显示初始化
6). 创建对象,通过构造方法进行数据初始化
7). 最终成员变量内存分配完毕,将堆内存地址值赋值给栈内存,整个对象创建完毕
6.面向对象的程序举例:
//键盘录入长方形长和宽,求出面积和周长, import java.util.Scanner; class Rectangle{ private int length; private int width; //方法1:成员变量赋值,set()方法 public int getLength() { return length; } public void setLength(int length) { this.length = length; } public int getWidth() { return width; } public void setWidth(int width) { this.width = width; } //方法2:利用构造方法给成员变量赋值,有参构造方法 public Rectangle(int length, int width) { super(); this.length = length; this.width = width; } //成员方法 public int Zhouchang(Rectangle s){ return (s.length+s.width)*2; } public int Area(Rectangle m){ return m.length*m.width; } public void show(){ System.out.println("该长方形长是:"+length+",宽是:"+width); } } public class RectangleDemo { public static void main(String[] args) { //创建键盘录入对象,并且导包 Scanner sc=new Scanner(System.in); //输入并接收数据 System.out.println("请输入长方形的长:"); int length=sc.nextInt(); System.out.println("请输入长方形的宽:"); int width=sc.nextInt(); //创建新的对象 Rectangle r=new Rectangle(length, width); //调用成员方法 int Area=r.Area(r); int zhouchang=r.Zhouchang(r); r.show(); System.out.println("该长方形周长是"+zhouchang+",面积是:"+Area); } }
相关文章推荐
- Java面向对象-类与对象以及内存图解
- 黑马程序员 Java基础_4 面向对象-抽象与封装
- java基础----面向对象特性和原则
- 黑马程序员_Java面向对象2
- 【学习笔记02】java面向对象-成员变量、匿名对象
- java面向对象二:抽象类、接口
- java面向对象【继承】
- java 面向对象基础
- 携程java面向对象面试题
- 【学习笔记】java面向对象复习03
- JAVA面向对象-----instanceof 关键字
- java面向对象中四种权限(private,protected,public,友好型)详解
- Java面向对象之成员隐藏与属性封装操作示例
- Java学习note 数组,String,面向对象综合
- 12-8java面向对象对象之引用传递
- Java学习系列(十一)Java面向对象之I/O流(下)
- Java面向对象之封装、继承、多态
- JAVA面向对象-----抽象类
- JAVA面向对象知识点总结(4)— 单例设计模式:饿汉式、懒汉式
- 【Java工程师之路】[1-2.5]Java面向对象详解4