包:
package d1_package;
import d1_package.a.Student;
public class Test {
public static void main(String[] args) {
//1:相同包下的类调用不需要导包
System.out.println(User.onlineNumber);
//2:不同包下的类调用需要导包
Student s = new Student();
//3:如果这个类中使用不同包下的相同类名的类,此时默认只能导入一个类的包,另一个类用包的全名访问
d1_package.b.Student s1 = new d1_package.b.Student();
}
}
权限修饰符:
package d2_modifier;
public class Fu {
//1:private修饰的方法:只能在本类中访问
private void privateMethod(){
System.out.println("---private---");
}
//2:缺省修饰的方法:只能在本类以及相同包的其他类中访问
void Method(){
System.out.println("---缺省---");
}
//3:protected修饰的方法:本类,相同包的其他类以及不同包的子类中访问
protected void protectedMethod(){
System.out.println("---protected---");
}
//4:public修饰的方法:本类,相同包的其他类,不同包的子类中以及不同包的无关类中访问
public void publictedMethod(){
System.out.println("---public---");
}
public static void main(String[] args) {
Fu f = new Fu();
f.privateMethod();
f.Method();
f.protectedMethod();
f.publictedMethod();
}
}
final关键字:
package d3_final;
//final关键字的作用
public class Test {
public static void main(String[] args) {
//1:修饰类:表示这个类不可以被继承
//2:修饰方法:表示这个方法不可以被重写
}
}
//--------1-----------
final class Animal{
}
//class Dog extends Animal{}报错,final修饰的类不可以被继承
//--------2-----------
class People{
public final void eat(){
System.out.println("奥里给干了!");
}
}
class Yoe extends People{
//@Override
//public void eat() {
//super.eat();
//}eat方法被final修饰所以不能重写
}
package d3_final;
public class Test2 {
public static void main(String[] args) {
//3:final修饰变量:该变量只能被赋值一次
/**
* 变量:
* 成员变量
* 局部变量
*/
Test2 t = new Test2();
System.out.println(Test2.schoolName);
//t.name = "yoes";第二次赋值了所以报错
System.out.println(t.name);
//局部成员变量
final String name = "yoe";
//name = "yoes";第二次赋值所以报错
}
//静态成员变量(private static final修饰的为常量)
private static final String schoolName = "yoe";
//实例成员变量(几乎不用)
private final String name = "yoe";
}
package d3_final;
public class Test3 {
public static void main(String[] args) {
//fina修饰引用类型的变量,其地址值不能改变,但是指向的对象内容可以改变
final Teacher t1 = new Teacher("yoe");
System.out.println(t1.getName());
//t1 = null;地址值不能改变所以报错
t1.setName("yoes");
System.out.println(t1.getName());
}
}
class Teacher{
public Teacher(String name) {
this.name = name;
}
private String name;
public Teacher() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
常量:
package d4_constant;
import javax.swing.*;
import java.awt.event.ActionEvent;
public class ConstantDemo2 {
public static final int UP = 1;
public static final int DOWN = 2;
public static final int LEFT = 3;
public static final int RIGHT = 4;
public static void main(String[] args) {
//窗口对象(桌子)
JFrame win = new JFrame();
//面板对象(桌布)
JPanel panel = new JPanel();
//把桌布放在桌子上
win.add(panel);
JButton btn1 = new JButton("上");
JButton btn2 = new JButton("下");
JButton btn3 = new JButton("左");
JButton btn4 = new JButton("右");
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
panel.add(btn4);
win.setLocationRelativeTo(null);
win.setSize(300,400);
win.setVisible(true);
btn1.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(UP);
}
});
btn2.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(DOWN);
}
});
btn3.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(LEFT);
}
});
btn4.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(RIGHT);
}
});
}
public static void move(int flag){
//控制玛丽移动
switch (flag){
case UP:
System.out.println("玛丽往上走");
break;
case DOWN:
System.out.println("玛丽往下走");
break;
case LEFT:
System.out.println("玛丽往左走");
break;
case RIGHT:
System.out.println("玛丽往右走");
break;
}
}
}
enum枚举类:
package d5_enum;
//做信息标志和分类
public enum Orientation {
UP, DOWN, LEFT, RIGHT;
}
package d5_enum;
import javax.swing.*;
import java.awt.event.ActionEvent;
public class EnumDemo2{
public static void main(String[] args) {
//窗口对象(桌子)
JFrame win = new JFrame();
//面板对象(桌布)
JPanel panel = new JPanel();
//把桌布放在桌子上
win.add(panel);
JButton btn1 = new JButton("上");
JButton btn2 = new JButton("下");
JButton btn3 = new JButton("左");
JButton btn4 = new JButton("右");
panel.add(btn1);
panel.add(btn2);
panel.add(btn3);
panel.add(btn4);
win.setLocationRelativeTo(null);
win.setSize(300,400);
win.setVisible(true);
btn1.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(Orientation.UP);
}
});
btn2.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(Orientation.DOWN);
}
});
btn3.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(Orientation.LEFT);
}
});
btn4.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
move(Orientation.RIGHT);
}
});
}
public static void move(Orientation o){
//控制玛丽移动
switch (o){
case UP:
System.out.println("玛丽往上走");
break;
case DOWN:
System.out.println("玛丽往下走");
break;
case LEFT:
System.out.println("玛丽往左走");
break;
case RIGHT:
System.out.println("玛丽往右走");
break;
}
}
}