1.修饰关键字:public,default,protected,private
2.AS中快速生成构造方法的快捷键:
3.Android中View的构造方法为什么是四个?
4.关于上下文Context:
5.this和super
6.对象实例化的方法:
7.类的封装
8.类中的私有属性(成员变量)要被其它的类访问:
9.实例化一个类(new 类对象),为这个对象的属性(成员变量)赋值的方法:
10.构造方法定义
11.this关键字的理解:
12.Static关键字:
13.单例模式:
14.内部类:
15.类的继承:
16.重写:
17.super关键字:
1.修饰关键字:public,default,protected,private
Public:无限制,其它包的都可以访问
Default:只有同一个包名下的才可以访问
Protected:只有本类和子类的才可以访问
Private:只有本类的可以访问
2.AS中快速生成构造方法的快捷键:
3.Android中View的构造方法为什么是四个?
---详见CSDN博客
4.关于上下文Context:
在当前的Activity的类中:直接传个this。
在匿名类部类中:写成XXXActivity.this.
凡是跟UI相关的,都应该使用Activity作为Context来处理(Context即Activity).
5.this和super
This(context):初始化当前activity
Super(context):初始化父类Activity
6.对象实例化的方法:
方法一:使用new对象的方法
方法二:单例模式 gentInstance() -->详见博客CSDN
方法三:层次间调用(不懂什么鬼)
7.类的封装
类中的属性(成员变量)私有化,即private修饰,这个成员变量只能在本类中被访问。
8.类中的私有属性(成员变量)要被其它的类访问:
setXXX()方法设置属性和getXXX()方法获取设置的属性。
9.实例化一个类(new 类对象),为这个对象的属性(成员变量)赋值的方法:
方法一:直接new 对象,然后通过(对象.成员变量=xxx)的方式来赋值。
方法二:构造方法赋值(带参数的构造方法)。
方法三:new 对象,然后通过(对象.setXXX())的方式赋值。
10.构造方法定义
方法名与类名相同;
在方法名的前面没有返回值类型的声明;
在构造方法中不能有return语句;
在类的实例化对象时,构造方法被调用
构造方法的相关注意点:
每一个类都至少有一个构造方法;
一个类中没有定义构造方法,系统会自动创建默认的构造方法,默认的构造方法不带参数;
构造方法通常用public来修饰;
我们定义时只要定义带参构造方法,无参数构造方法系统会自动生成;
11.this关键字的理解:
解决全局变量与局部变量的冲突(java里面没有全局变量与局部变量的概念);
调用成员方法:this.成员方法;
同一个类中:一个构造方法中用this调用另一个构造方法。(有参数构造用this()调用无参数构造方法)
12.Static关键字:
静态变量:Static修饰的成员变量; 可用类名.变量名来访问;可被所有的实例共享。
静态变量被调用的方式:方式一:可通过类名.方法名调用;
方式二:可通过实例化对象进行调用;
静态方法:Static修饰的方法;类名.方法名来访问。(不创建对象的情况下就可以调用某个类里面的方法)。
静态方法被调用的方式:
方式一:类名.方法名;
方式二:通过类的实例化对象;
静态代码块:static修饰的代码块;类加载时,静态代码块执行;类只加载一次,静态代码块只执行一次。
注意点:static关键字不能用于修饰方法中的变量(相当于C语言中的局部变量)。
静态方法中访问成员变量只能是Static修饰的成员变量。
13.单例模式:
Java入门基础的p98页
14.内部类:
在一个类的内部定义了另一个类。这样的类称为内部类。
成员内部类:类中定义的类
外部某一个类去访问另一个类的内部类的格式:
另一个类的类名.内部类名 变量名= new 另一个类的类名().new内部类名()
静态内部类:static修饰的成员内部类
另一个类的类名.内部类名 变量名 = new 另一个类的类名.内部类名()。
方法内部类:在成员方法中定义的类,只能在当前的方法中被使用。
15.类的继承:
子类拥有父类所有可继承的成员变量和方法。
类的继承注意点:
一个类只能单继承一个类,不能一个类继承多个类;
多个类可以继承同一个父类;
可以多层继承;
16.重写:
在继承中,子类自动继承父类中的成员变量,方法;
若子类要对集成的方法进行修改,则需要对父类的方法进行重写。
重写:相同的方法名,参数列表,返回值类型。
17.super关键字:
子类重写父类的方法后,将无法访问父类被重写的方法,解决这个问题只能通过super关键字实现。
Super关键字的作用:调用父类的成员变量,成员方法。
调用父类的构造方法。
B类中new(实例化)A类对象时一定会调用A类的构造方法;A类构造方法被调用时,A的父类的构造方法也被调用。
A类的构造方法中一定会调用A父类的某个构造方法,可通过Super指定调用A类的哪个构造方法,若没有指定;实例化A类时,自动调A父类的无参数构造方法。