这两天学习了一下类和对象的知识,粗略总结下:
1 类是什么呢?类的用法和好处?class是对object的抽象概括,类可以理解为一种概念。而类的创建形式为 修饰符+class+类名{}
,{}里面可以使若干constructor+方法+成员变量。然后就是怎么定义constructor:修饰符+类名+(形参列表){ 构造器执行体};
方法定义:修饰符+返回值类型+方法名(形参列表){方法执行体};成员变量:修饰符+形参类型+成员变量名(=默认值)。
定义了类,Java里面类的用处有以下三条:1定义变量 2创建对象 3调用类方法或者类的类变量。
问题接着来,如何对object的产生和使用呢?Java里面应该就是构造器了,简单的来说就是通过new这个关键字来调用某个类的构造器即可创建这个类的实例,Person p =new Person()。object的用处:1创建对象的实例变量 2调用对象的方法 p.name="IT",p.say("学好java,夯实基础")。类或者对象在Java里面的运行机制,引用和指针,栈内存(stack)和堆内存(heap),简答理解是把引用变量指向对象。
2 this关键字的用处?主要是两个:1构造器中引用该构造器正在初始的对象 2在方法中引用调用该方法的对象。其中特别要注意1中静态不能访问非静态(非静态访问静态的时候?),只能通过对象来访问,为什么呢?如果是实例的话,非static修饰的是实例变量,static修饰的是类变量,这是不可行的。this和super是不能出现在static修饰的方法中的,如果要在静态中调用另外一个普通方法是需要创建对象的,相反调用静态方法可以不使用对象来调用,直接写出该方法即可:
public
class Method {
call();
Method.call();
Method m=newMethod();
3方法?实参?我们知道类是对象的抽象,方法就是类或对象的行为特征的抽象,行为特征听起来很虚无缥缈?其实可以把理解class或者object的一个最重要的部分就可以了,方法必须存在类或者方法之中,对象嘛!在Java里面调用方法必须是类或对象作为主调者。但是如果声明方法时包含了形参声明,则调用该方法必须给这些形参指定参数值,实参的概念就是调用方法时实际传给形参的参数值。
然后我们会经常遇到形参个数不确定的情况,我们通常只需要在形参列表的最后一个形参哪里添加...即可,这个意思是表明该形参可以接受多个参数值,你没记错,是该形参哟。比如public boolean fly(int a,String...book),其实形参的本质上面已经详单与一个数组了我们也可以这样定义public boolean fly(int a,String【】book)
4然后我们会遇到非常容易混淆的两个概念方法重载和方法重写?其实这两个一点关系也没有,当然前提要辨析他们的特征啦!方法重载是指一个类里有方法名相同修饰符相同,只有形参列表不同,然后多出现几次,这就是传说中的方法重载。方法重写出现在子类继承父类中,子类方法都跟父类一样,只是改写下执行体。
5 成员变量还有局部变量?成员变量指的是类里定义的变量,(实例变量不以static修饰,类变量以static修饰),局部变量指的是方法里面定义的变量
(形参,代码块局域变量,方法局部变量),这三种的不同详解疯狂Java125。说了这么多,那变量的使用规则是什么?这种编程讲究一个最优化,性能最好,开销最小。那我们就应该清楚各个定义的变量域,成员变量(类变量)的范围肯定是整个类了,方法局域变量就是该局域范围内了,代码块就是该代码块内了。切记两个原则:不要扩大变量的生存时间,将导致更大的内存开销。扩大变量的作用域,不利于提高程序的内聚性。
浙公网安备 33010602011771号