对JAVA的基本认识:
1编程:指导计算机做我们需要它完成的功能
2面向对象编程分析(oop编程)
Java是面向对象的一门语言。
面向对象:关注的是对象-》结果是不确定的(执行者)
面向过程:关注的是过程-》结果确定(执行流程)
例:张三老师正在给李四学生上课
对象:张三老师
过程:给李四学生上课
面向对象三大特性:继承性,多态性,封装性
基本语法:
1)一个类对应一个java文件
2)属性(特征)的定义格式:public 类型 属性名;
3)方法(行为)的定义格式:public 返回类型 方法名(参数列表){}
4)创建对象的格式:类名 对象名 = new 类名();
5)调用属性:对象名.属性名
6)调用方法:对象名.方法名(具体内容)
3监听实现
ActionListener action =new ActionListener();
JFrame jf=new JFrame();
JLabel jl=new JLabel();
4窗口位置的摆放:
this.setLocationRelativeTo(null);
窗口部件的摆放:
FlowLayout f=new FlowLayout();
jf.setLayout(f);
jf.add(jl);
jl.addActionListener(action);
5命令操作:
关机:Runtime run=Runtime.getRuntime();
run.exec("shutdown -s -t 10000");
取消关机:run.exec("shutdown -a");
打开浏览器:run.exec("explorer http://www.qq.com");
打开QQ:run.exec("C:/Program File(x86)/Tencent/QQ/Bin/QQScLauncher.exe");
6构造方法:
普通方法格式:public 返回类型 方法名(参数列表){}
构造方法基本格式:public 方法名(参数列表){}
作用:构造对象,创建对象时自动调用
引用传递:对象的地址进行传递
废除的空间,由java虚拟机垃圾回收机制清除
7方法重载:
定义:同一个类当中,多个方法的方法名相同,参数列表不同(参数顺序、参数个数、参数类型)
构造函数重载:创建一个对象,只能调用一个构造函数
作用:初始化对象的属性
public teach(int a)
public teach(int a,string b)
8继承:
关键字:extends
定义:子类通过extends继承父类的非私有属性和方法
作用:动态地进行拓展类的功能
9重写
定义:子类重写父类的方法,方法名、参数列表、返回类型相同(注意和重载的区别)
子类重写父类方法用来覆盖父类继承过来的函数
10自动转型:
子类类型的对象自动转型为父类类型的对象,最终是父类类型的
转型后的对象:调用方法。如果子类重写了父类的方法,则最后调用的是子类中重写的方法
如果没有重写,则最后调用的还是父类的类型
public class A extends D{}
public class D{}
main(){
D d=new A();
那么d可以调用A重写D了的方法,但不可以调用A中有但D中没有的方法。
11.多态
多个同一个类型的引用,调用同一个方法
this当前类的对象
public class ComputerOperationFrame extends JFrame{
ComputerOperationFrame c=new ComputerOperationFrame();
c.graphic();
}
public void graphic(){
this.setTitle("简易操作窗体");
this.setLocationRelativeTo(null);
12有关栈和堆的问题:
D d=new D("张三");
D d1=new D(“李四”);
d=d1;
d.name="赵六";
则执行以上代码的时候d,d1都指向了同一块堆内存,打印d或者d1都是赵六;
D d是向栈里分配了一块大小
new D()向堆里分配了一块大小
d指向了堆那个地址
1编程:指导计算机做我们需要它完成的功能
2面向对象编程分析(oop编程)
Java是面向对象的一门语言。
面向对象:关注的是对象-》结果是不确定的(执行者)
面向过程:关注的是过程-》结果确定(执行流程)
例:张三老师正在给李四学生上课
对象:张三老师
过程:给李四学生上课
面向对象三大特性:继承性,多态性,封装性
基本语法:
1)一个类对应一个java文件
2)属性(特征)的定义格式:public 类型 属性名;
3)方法(行为)的定义格式:public 返回类型 方法名(参数列表){}
4)创建对象的格式:类名 对象名 = new 类名();
5)调用属性:对象名.属性名
6)调用方法:对象名.方法名(具体内容)
3监听实现
ActionListener action =new ActionListener();
JFrame jf=new JFrame();
JLabel jl=new JLabel();
4窗口位置的摆放:
this.setLocationRelativeTo(null);
窗口部件的摆放:
FlowLayout f=new FlowLayout();
jf.setLayout(f);
jf.add(jl);
jl.addActionListener(action);
5命令操作:
关机:Runtime run=Runtime.getRuntime();
run.exec("shutdown -s -t 10000");
取消关机:run.exec("shutdown -a");
打开浏览器:run.exec("explorer http://www.qq.com");
打开QQ:run.exec("C:/Program File(x86)/Tencent/QQ/Bin/QQScLauncher.exe");
6构造方法:
普通方法格式:public 返回类型 方法名(参数列表){}
构造方法基本格式:public 方法名(参数列表){}
作用:构造对象,创建对象时自动调用
引用传递:对象的地址进行传递
废除的空间,由java虚拟机垃圾回收机制清除
7方法重载:
定义:同一个类当中,多个方法的方法名相同,参数列表不同(参数顺序、参数个数、参数类型)
构造函数重载:创建一个对象,只能调用一个构造函数
作用:初始化对象的属性
public teach(int a)
public teach(int a,string b)
8继承:
关键字:extends
定义:子类通过extends继承父类的非私有属性和方法
作用:动态地进行拓展类的功能
9重写
定义:子类重写父类的方法,方法名、参数列表、返回类型相同(注意和重载的区别)
子类重写父类方法用来覆盖父类继承过来的函数
10自动转型:
子类类型的对象自动转型为父类类型的对象,最终是父类类型的
转型后的对象:调用方法。如果子类重写了父类的方法,则最后调用的是子类中重写的方法
如果没有重写,则最后调用的还是父类的类型
public class A extends D{}
public class D{}
main(){
D d=new A();
那么d可以调用A重写D了的方法,但不可以调用A中有但D中没有的方法。
11.多态
多个同一个类型的引用,调用同一个方法
this当前类的对象
public class ComputerOperationFrame extends JFrame{
ComputerOperationFrame c=new ComputerOperationFrame();
c.graphic();
}
public void graphic(){
this.setTitle("简易操作窗体");
this.setLocationRelativeTo(null);
12有关栈和堆的问题:
D d=new D("张三");
D d1=new D(“李四”);
d=d1;
d.name="赵六";
则执行以上代码的时候d,d1都指向了同一块堆内存,打印d或者d1都是赵六;
D d是向栈里分配了一块大小
new D()向堆里分配了一块大小
d指向了堆那个地址