Java--面向对象

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);
    
}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值