修饰词及作用域:
修饰符
权限修饰符:private,默认的,protected,public
状态修饰符:final,static
抽象修饰符:abstract
类中:默认修饰符,public
成员变量:不能用abstract
构造方法:不能用static abstract
成员方法:都可以
this:用于标注当前面向对象中的当前类
public static void stu
{
string name;
int age;
public static setname(String name)
{
this.name=name;//不能用static.name来定义
}
}
private:类型之前被这语言修饰的类型只能在当前面向对象中修改
(静态变量)面相对象中static修饰后的类其他类调用的时候都为最后一次static类型被赋予的值 PS:可以直接被对象名调用,静态成员变量只能调用静态变量,this对静态无用
看包:java.lang包下的类不需要导入,其他都需要
代码块:局部,构造,静态
局部:局部位置,生命周期在{}内
构造:在类的成员位置,用{}括起来的代码。每次调用构造方法前都会先执行代码块
静态:只执行一次初始化
耦合:类与类的关系 内聚:就是自己完成某件事情的能力
继承:高耦合低内聚,不能多继承,可以多层继承,"is a"的关系
格式
class fu{}
class zi extends fu{} PS:可以直接定义一个person然后在main中定义为person.stu/person.teacher
注意:不能继承私有成员,子类不能继承父类的构造方法,但是可以通过super关键字去访问父亲构造方法
不要为了部分功能去继承 重写的时候子类的等级不能低于父系
继承中this super应用区别
this当前构造代码(本类)的num;
super父类的Num(父类的引用)
继承中的构造方法的关系
子类的所有的构造方法默认都会访问父类中空参数的构造方法
注意:自调用构造函数的时候如果父系没有无参构造函数报错 PS:通过调用开头用super("")赋予值然后使他有参
final:可以修饰类(不能被继承),方法(不能被重写),变量(不能重新赋值)只能被赋值一次
注意:当final当前指针所指向地址内容不能变指向当内容可以变
多态:要有继承,要有方法重写,创建fu f =new zi();
成员变量:编译看左边,运行看左边
构造方法:创建子类对象当时候,访问fu进行初始化
成员方法:编译看左边,运行看右边
静态方法:编译看左边,运行看左边
好处:提高类代码当维护性(继承保证),代码当扩展性
弊端:不能使用子类特有当功能 PS:zi z=new zi()/zi z=(zi)f(向下转型)
类:
抽象类:abstract用这来修饰,不定要有抽象方法,但抽象方法类必须定义为抽象类,不能实例化
注意:构造方法必须为空
接口:接口是抽象的
interface 接口名{}
实现:class 类名 implements 接口名{}
注意:接口变量不能修改自动有static,没有构造方法,默认Public
类与类:单继承
类与接口:多实现
接口与接口:多继承关系
形式参数
接口/抽象类/类:类似于()里面的int s调用用s
返回值
接口/抽象类/类:类名调用这返回值直接定义类名
public 返回类名 调用方法命名() return new 返回类名
包(package)
定义:多级包用.分开
注意事项:定义必须放在第一个有且只有一个,没有package 包名 默认无包名
如何编译运行:手动创建包名,把文件放在包内/自动式编译的时候java后加-d
不同包的访问
import 导入包
package>import>class
内部类:成员内部类,局部内部类 outer.inner text=new outer().new.inner();
注意静态内部类访问只能访问外部类的静态成员outer.inner text=new outer.inner();
面试题:new outer().num/outer.this.num
局部内部类:访问局部变量必须用final
匿名内部类:可以是具体类也可以是抽象类(具体是个对象)
格式:new 类名或接口名
调用 new 类名或接口名
{
public void show()
}.show();只能调用一次方法
如果我是很多个方法: 继承和接口类 命名=new 类名或接口(){};
eclipse:
颜色大小
window-preferences-general-appearance-colors and fonts-java修改-java edit text font
控制台
debug console font
其他文件
basic text font
打包jar包
选中项目 右键 export java jar 自己指定一个路径名称 finish
说明书
选中项目 右键 export java javadoc finish
导入项目:右键 Import gradle
DEBUG,测试代码类似于vs qt
左键双击断点,f6走,再次双击取消断点/回DEBUG界面取消点