当前位置: 首页 > news >正文

如何改进网站网络推广员的前景

如何改进网站,网络推广员的前景,龙岗网站制作市场,淘宝客单页网站程序目录 一.抽象类 1.什么是抽象类 2.抽象类特点 (1)抽象类不能直接实例化对象 (2)可以包含抽象方法和具体方法 (3)可以有构造方法 (4)抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修…

目录

一.抽象类

1.什么是抽象类

2.抽象类特点

(1)抽象类不能直接实例化对象

(2)可以包含抽象方法和具体方法

(3)可以有构造方法

(4)抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修饰

(5)抽象方法不能是 private 的

(6)抽象方法不能被final和static修饰

(7)抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

(8)可以包含常量或实例变量

(9)成员变量不能被abstract修饰

一.抽象类

对于抽象类来说,抽象类就和他的名字一样,抽象!

至于怎么个抽象法,举个例子图形Shape,他并不特指哪一种形状,并不确切的描述某一对象。他可以是三角形,四边形,圆形。

一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。

我们理解了之后,就可以来学习咯!

1.什么是抽象类

抽象类是用 abstract 修饰的类,它不能被直接实例化。关键字abstract

  • 抽象类可以包含:
    • 抽象方法(没有方法体的方法)。
    • 普通方法(有具体实现的方法)。
    • 成员变量(字段)。
    • 构造方法。

定义语法:

abstract class AbstractClass {protected int val; //成员变量 abstract void abstractMethod(); // 抽象方法void concreteMethod() {System.out.println("普通方法");}
}

2.抽象类特点

(1)抽象类不能直接实例化对象

只能通过其子类来实例化对象。

(2)可以包含抽象方法和具体方法

抽象方法没有方法体,由子类实现。

具体方法是有实现代码的方法,可以直接被子类继承或覆盖

abstract class Animal{private String name;private int age;public Animal(String name,int age){this.age=age;this.name=name;System.out.println(name+"今年"+age+"岁");}abstract void sound();//抽象方法没有方法体public void methodA(){//具体方法是有实现代码的方法,可以直接被子类继承或覆盖。System.out.println("这是方法A");}
}

(3)可以有构造方法

尽管它不能直接被实例化。构造方法在抽象类中存在的主要目的是让其子类可以通过调用这些构造方法来初始化从抽象类继承的成员变量或执行抽象类的初始化逻辑。

abstract class Animal{private String name;private int age;public Animal(String name,int age){this.age=age;this.name=name;System.out.println(name+"今年"+age+"岁");}abstract void sound();
}
class Dog extends Animal{public Dog(String name, int age) {super(name, age);}@Overridevoid sound() {System.out.println("汪汪汪~");}}
public class Main {public static void main(String[] args) {Dog dog=new Dog("小七",2); //通过子类来实例化,并且在子类的构造方法调用父类的构造方法}
}

(4)抽象类必须被继承,并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修饰

abstract class Animal{private String name;private int age;public Animal(String name,int age){this.age=age;this.name=name;System.out.println(name+"今年"+age+"岁");}//抽象方法abstract void sound();public void methodA(){System.out.println("这是方法A");}
}
class Dog extends Animal{public Dog(String name, int age) {super(name, age);}//重写的方法@Overridevoid sound() {System.out.println("汪汪汪~");}}

如果把这一段代码删掉:

@Overridevoid sound() {System.out.println("汪汪汪~");}

则会报错:

我们来试着来将子类设置为抽象类:

可以看到子类没有报错提示了。但是子类又不能实例化对象了,因为被设置为抽象类了嘛。

(5)抽象方法不能是 private 的

修饰符的非法组合:“abstract”和“private”

这是因为这个抽象类被继承时,子类必须重写父类的抽象方法,当我们将该抽象方法写为private时,我们的子类就无法重写该抽象方法,也无法实现它,导致编译错误,因为private只能是同一类中才能够访问,所以抽象方法不能是private的。

(6)抽象方法不能被final和static修饰

修饰符的非法组合:“abstract”和“final”

修饰符的非法组合:“abstract”和“static”

因为抽象方法要被子类重写。被final和static修饰了子类就不能重写该抽象方法也无法实现了。

虽说是抽象方法不能被final和static和private修饰,但是抽象类里边的普通方法是可以被修饰的。

(7)抽象类中不一定包含抽象方法,但是有抽象方法的类一定是抽象类

  • 抽象类是用 abstract 修饰的类,但它可以不包含抽象方法。
  • 如果一个类是抽象的,即使没有抽象方法,它仍然不能被直接实例化。
  • 这种抽象类的设计通常是为了提供一个基础类,用于子类的继承,可能包含一些已经实现的方法或共享的成员变量。
  • 如果一个类中有任何一个方法被声明为 abstract,那么这个类必须用 abstract 修饰。
  • 否则,编译器会报错,因为没有 abstract 修饰的类默认是具体类(可以被实例化),但具体类不能包含未实现的方法。

(8)可以包含常量或实例变量

抽象类可以定义常量(final 修饰)和普通的实例变量。

(9)成员变量不能被abstract修饰

在 Java 中,成员变量不能是抽象的。这是因为 "抽象" 的概念是针对方法的,表示方法没有具体实现,要求子类去实现

为什么?

一方面,抽象方法表示没有实现的方法,依赖子类提供具体实现。而变量只是数据,没有“实现”的概念,因此不符合抽象的意义。

另一方面,成员变量在类加载时或对象创建时必须占用内存并初始化。如果变量是抽象的,无法确定其存储位置,也无法初始化。

http://www.hkea.cn/news/516460/

相关文章:

  • html5制作网站模板百度产品大全首页
  • 贵阳网站建设贵阳百度推广怎么推广
  • 瓮安建设局网站google play三件套
  • 大型门户网站模板营销神器
  • 学设计的网站都有哪些seo和sem
  • 如何做网站流量买卖营销型网站的特点
  • 装修设计网站哪个平台最好软文推广多少钱一篇
  • 怎么做微信里的网页网站链接网站设计平台
  • 长宁专业做网站网络营销案例分享
  • 哈尔滨专业建网站哪家好码迷seo
  • 涞水县住房和城乡建设局网站厦门seo专业培训学校
  • 网站建设销售招聘德阳seo
  • 平台网站建设的公司seozou是什么意思
  • wordpress 相册 主题seo整站优化技术培训
  • 做窗帘网站图片百度自动点击器下载
  • 飘雪影视大全免费观看视频快推达seo
  • 做网站的装饰标语seo宣传网站
  • 国外 平面设计 网站百度收录
  • 做网站话术简述搜索引擎的工作原理
  • 现在建设网站赚钱吗seo外链论坛
  • 青海网站建设企业海南百度竞价推广
  • 南京做网站yuanmus电脑突然多了windows优化大师
  • 美国做deals的网站软文营销经典案例优秀软文
  • 招标网站怎么做吴江seo网站优化软件
  • 苏州建设工程协会网站seo去哪里学
  • 上海正规网站制作价格可口可乐软文营销案例
  • 番禺网站 建设信科网络站长之家ping
  • 建筑工程施工承包合同关键词优化报价推荐
  • 网站可以免费看企业网站系统
  • 中华人民共和国建设部网站seo怎么快速提高排名