java面向对象

1-成员变量
1、在定义成员变量时可以对其初始化,如果不对其初始化,java使用默认的值对其初始化。而局部变量则不会默认初始化!
2、成员变量的作用范围为整个类体
2-如何在内存中区分类和对象
类是静态的概念,位于代码区;对象是new出来的,位于堆内存,类的每个成员变量在不同的对象中都有不同的值(除了静态变量),而方法只有一份,执行的时候才占用内存。
同一类的每个对象有不同的成员变量存储空间。
同一类的每个对象共享该类的方法。

内存里分四块区域:code segment ,data segment,stack,heap


使用new+构造方法来创建一个对象
构造函数与类同名且没有返回值


方法里的变量和参数都是局部变量,包括构造函数。方法执行完,局部变量就没了!
自己定义了构造函数后,默认的构造函数就不存在了。

必须使用new关键字创建对象!
同一个类的每个对象有不同的成员变量存储空间
同一类的每个对象共享该类的方法 
  非静态方法是针对每个对象进行调用
  
方法的返回值存在一个临时的内存区域里(栈空间)


字符串存放在data segment里


约定俗称的命名规则

类名首字母大写
变量名和方法名的首字母小写
运用驼峰标识



方法重载

方法的重载是指一个类中可以定义相同的名字,但参数不同的多个方法。调用时,会根据不同的参数列表选择对应的方法。
参数不一样是指:参数个数或类型不同


构造方法也能重载!



this关键字

在类的方法定义中使用的this关键字代表使用该方法的对象的引用
  当必须指出当前使用方法中的对象是谁时要使用this
  有时使用this可以处理方法中成员变量和参数重名的情况
  this可以看做一个变量,它的值是当前对象的引用


static关键字


static成员变量存放在data segment里


在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。
用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可以访问非static的成员
  静态方法不再是针对某个对象调用,所以不能访问非静态成员。
  可以通过对象引用或类名(不需要实例化)访问静态成员。



public class Cat{
	private static int sid=0;
	private String name;
	int id;
	Cat(String name){
		this.name=name;
		id=sid++;
		}
		public void info(){
			System.out.println("My name is"+name+"NO."+id);
			}
			
			public static void main(String [] args){
				Cat.sid=100;
				Cat mimi=new Cat("mimi");
				Cat pipi=new Cat("pipi");
				mimi.info();
				pipi.info();
				}
	}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值