java基础,
java基础,
匿名对象:
匿名对象是对象的简化形式
匿名对象两种使用情况
1、当对对象方法仅进行一次调用的时2、匿名对象可以作为实际参数进行传递
变量的使用原则:
就近原则
如果在局部找到了,使用局部变量
如果在类中的成员位置找到了,使用成员变量
如果在类中也没有找到,报错
this关键字:
this代表其所在函数所属对象的引用
this关键字的使用:
1、在局部变量和成员变量重名时,使用this关键字来区分
2、在构造函数中使用
封装:
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式
private关键字:
是一个权限修饰符。
用于修饰成员(成员变量和成员函数)
被私有化的成员只在本类中有效
将成员变量私有化,对外提供对应的set ,get方法对其进行访问。
提高对数据访问的安全性
成员变量和局部变量的区别?
代码位置:
成员变量:在类中方法外
局部变量:在方法内
内存位置:
成员变量:堆内存中
局部变量:栈内存中
是否有默认值:
成员变量:有默认值
局部变量:没有默认值
使用范围:
成员变量:在整个类中都可以访问
局部变量:只能在该方法中访问
创建时间:
成员变量:随着对象的创建而存在,随着对象的释放而消失 生命周期长
局部变量:随着方法的调用而存在,随着方法使用完毕而消失
什么是面向对象?
1、面向对象是相对面向过程而言
2、它是一种编程的设计思想
(面向对象思想的特点)
>是一种符合人们思考习惯的思想
>可以将复杂的事情简单化
>将程序员从执行者转换成了指挥者
3、举例说明 面向对象 做菜 (面向过程:自己做,需要计划买,去哪买,怎么做等;面向对象:只要找个对象,让她去做),旅游,买电脑
继承
概述:
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只需继承那个类即可。多个类为子类,单独类为父类或超类。
子类可以访问父类中非私有的属性和行为。单一继承。用extends关键字让类与类之间产生继承关系。
如果一个类声明为final,那么该类是一个最终类,不能拥有子类。
作用:
1、提高了代码的复用性。
2、让类与类之间产生了关系,提供了多态的前提。
方法重写和方法重载
重载(overload):同一个类中,方法名相同,参数列表不同(参数个数、参数顺序、参数类型)。
重写(override):也叫覆盖。子类继承父类,子类中和父类中的方法名、参数个数、类型完全一致,就称子类的这个方法重写了父类的方法。
注意:覆盖时,子类的方法权限一定要大于等于父类的方法权限;静态方法只能覆盖静态方法;父类中的私有方法不可以被覆盖。
子类可通过super.方法名来访问父类中的同名方法。
子类中所有的构造函数默认都会访问父类中空参数的构造函数。因为每一个构造函数的第一行都有一条默认的语句super();。当父类中没有空参数的构造函数时,子类的构造函数必须通过this或者super语句指定要访问的构造函数。
编译
只是检查语法的合法性
静态成员与普通成员的区别
1、内存中位置
普通成员:堆内存
静态成员:方法区
2、创建时间与销毁时间
普通成员:随着对象创建而存在,随着对象消失而消失
静态成员:随着类的加载而存在,随着类的消失而消失(生命周期长)
3、调用区别
普通成员:对象.成员
静态成员:对象.成员 类名.成员
4、理解的区别
普通成员:它是成员变量,是每个对象单独拥有的
静态成员:它是类变量,所有对象共享同一个变量
静态代码块
只执行一次,且在main方法前执行。
作用:静态代码块使用来加载驱动的,因为驱动只加载一次。
静态方法
静态方法只能调用静态变量和静态方法,不可以写this和super关键字,内部不可定义静态变量。
static关键字
用于修饰成员变量和成员方法。修饰后为静态成员,见上。
构造函数
用来为对象初始化数据。没有具体的返回值。如果类中没有声明任何构造方法,则系统会为当前类增加一个不带任何参数的构造方法;如果程序中有构造函数,jvm就不会给他加空的构造函数。重载经常用于构造方法。
数组定义格式
1、 int[] arr; arr = new int[5];
2、 short[] arr = new short[]{1,2,3,4};
3、 char[] arr = {'a','b','c'};
相关文章
- 暂无相关文章
用户点评