java基础:代码块、继承

代码块的种类:
1、局部代码块
位置:在方法中 或 在方法的声明中
作用:限制了局部变量的声明周期(作用域问题)
2、构造代码块
位置:在类中 成员方法以外
调用顺序:当系统调用构造方法之前会先调用构造代码块
作用:如果如果每个对象都在相同的方法区执行,可以在构造代码块中调用
3、静态代码块(用static来修饰)
位置:在类中 成员方法外
作用:只加载一次并随着类的加载而加载
应用场景:可以用来加载驱动(JDBC数据库的连接)
4、同步代码块
public class Demo01 {
static {
System.out.println(“我是Demo1的静态代码块”);
}
public static void main(String[] args) {
//局部代码块(main函数中的大括号)
// {
// int num = 10;
// System.out.println(num);
// }
//用无参数构造 创建一个 person
//用有参数构造 创建一个person
//都调用sayhi方法
Person person = new Person();
person.sayhi();

    Person person1 = new Person("张三",18);
    person1.sayhi();

    Person person2 = new Person();
}

}
class Person{
String name;
int age;

//
public Person() {
    System.out.println("我是无参构造方法");
}
public Person(String name, int age) {
    this.name = name;
    this.age = age;
    System.out.println("我是有参数的构造方法");
}
public void sayhi(){
    System.out.println(name + "----" + age);
}
public void cYF(){
    System.out.println("穿衣服");
}
    //构造代码块
{
    this.cYF();
    System.out.println("我是构造代码块");
}
    //静态代码块
static {
    System.out.println("我是静态代码块");
}

}

继承
继承的特点
1、减少重复的代码
2、减少你的工作量
3、可以把类中相同的代码抽取出来 写成一个父类
继承定义:连接了类与类之间的关系(父子关系)

继承关键字、格式

继承关键字为:extends
class—-子类名称—- extends—-父类名称 {

}
例题:
创建一个 手机类 和 一个电脑类
有color、size并且有介绍自己的方法

public class Demo02 {

public static void main(String[] args) {
    El phone = new Computer();
    Computer.color = "白色";
    Computer.size = 21;
    Computer.sayhi();


}

}

class El{
String color;
int size;

public void sayhi() {
    System.out.println(color + "----" + size);  
}

}
class Computer extends El{

}

class phone extends El{

}
java中的继承
1、java中只允许单继承 不允许多继承(可以通过接口来实现多继承效果)
c++语言等其他语言允许多继承)
2、java中 允许 多层继承 (属性和方法会传递继承)

如果我想得到类中 共有的方法和属性 使用哪个类?使用继承链最顶端的类
如果我想得到类中 特有的方法和属性 使用哪个类?使用最末端的类

如果一个类没写继承哪个类 实际上是继承的系统的 Object类
Object类 是java中 最顶端的类(基类)

public class Demo03 {

public static void main(String[] args) {
    DemoC c = new DemoC();
    c.name = "我是c";
    c.sayhi();

}

}

class DemoA extends Object{

String name;
int age;
public void sayhi() {
    System.out.println(name);
}

}
class DemoB extends DemoA{

}
class DemoC extends DemoB{

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值