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

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.面向对象的程序举例:

//键盘录入长方形长和宽,求出面积和周长,
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 面向对象