初学者新学JAVA,遇到有关问题

菜鸟新学JAVA,遇到问题求助
Java code

package unit7;
import java.awt.BorderLayout;
import javax.swing.JButton;
import javax.swing.JFrame;


public class ex_1  extends JFrame
{    //声明并创建BorderLayout布局管理对象
    BorderLayout borderlayout1=new BorderLayout();
    JButton jbutton1,jbutton2,jbutton3,jbutton4,jbutton5;
    
    public void BorderLayoutDemo()
    {
        super("BorderLayout");                        //问题1:此处按照教材,提示:必须是第一句
        getContentPane().setLayout(borderlayout1);
        jbutton1=new JButton("up");  //创建名为up的按钮
        getContentPane().add(jbutton1,borderlayout1.NORTH);
        
    }
    //BorderLayoutDemo borderLayoutDemo=new BorderLayoutDemo();
    
    public static void main(String[] args) 
    {
        ex_1 Class =new ex_1();
        BorderLayoutDemo borderLayoutDemo;    //问题2:此处提示:BorderLayoutDemo 无法解析为类型
        borderLayoutDemo=new BorderLayoutDemo();
        borderLayoutDemo.setSize(400,400);
        borderLayoutDemo.setVisible(true);
        borderLayoutDemo.setDefaultCloseOpration(JFrame.EXIT_ON_CLOSE);
    }



关键的两个问题,求解答~谢谢

------解决方案--------------------
1:super语句必须是方法里的第一条语句
2:BorderLayoutDemo明显是一个类,你没有写,所以会报错

还是别看教材了,而且awt已经过时了,自己玩玩还可以,很少有企业用的。
------解决方案--------------------
1.super() 语句:正在调用父类的构造方法
初始化 顺序应该是.
父静态变量-->子静态变量-->父非静态变量-->父静态代码块-->父构造函数
------>子非静态变量(0 ,false,null)-->子静态代码块-->子构造函数

2.
你把文件名和类名分别改为:BorderLayoutDemo.java 和 BorderLayoutDemo
然后在main方法中去掉第一行代码:
ex_1 Class =new ex_1();