abstract类中不可以有private的成员_C++中public、protected、private的区别

1、访问范围

private:只能由该类的成员函数、友元的成员函数访问,不能被其他类的成员函数访问,即使是该类的对象也不能直接访问

protected:可以被该类中的成员函数访问、子类中的成员函数访问、友元中的成员函数访问,但是不能被该类的对象访问

public:可以被该类的成员函数、友元的成员函数、子类的成员函数访问,也可以被自己类的对象访问

2、三种继承方式与属性变化

class 

使用private继承,父类的所有方法在子类中变为private;

使用protected继承,父类的protected和public方法在子类中变为protected,private方法不变;

使用public继承,父类中的方法属性不发生改变;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第三章 Java面向对象程序设计 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第1页。 3.1 面向对象程序设计的基本概念 对象是客观世界的某个具体事物。(客车) 事物的特性就是数据(载客数量、燃料容量、耗油均值) 事物的行为就是方法 (行驶、起动、刹车) 数据 方法 面向对象的程序设计方法就是将客观事物抽象成为"类",并通过类的"继承"实现软件的可扩充性和可重用性。 对象 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第2页。 类和对象 类是具有共同特性和行为的事物的抽象,是一种特殊数据类型。在类包含了数据和与数据有关的操作(方法)。 对象是类的实例。 类 汽车 对象 客车 抽象 实例化 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第3页。 面向对象程序设计的核心技术 封装、继承、多态性 通过封装可以隐藏类的实现细节,也可以避免对类数据的直接操作。类是封装的基本单元。 继承是对类的功能的重用和扩充。 多态性是指方法的名字相同,但实现不同。 Java是一种完全面向对象的程序设计语言。它继承了C++的优点。Java降低了程序的复杂性,实现了代码的可重用性,提高了运行效率。 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第4页。 3.2 类的创建 类的声明格式: <类首声明> {<类主体>} 类首声明定义类的名字、访问权限以及与其它类的关系等。 类主体定义类的成员,包括变量(数据)和方法(行为) Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第5页。 类首声明: [<修饰符>] class <类名> [extends <超类名>] [implements <接口名>] class: 类定义的关键字; extends: 表示类和另外一些类(超类)的继承关系; implements: 表示类实现了某些接口; 修饰符: 表示类访问权限(publicprivate等)和一些其它特性(abstract、final等); 例如: public class Date1 声明Date1类,访问权限为public,表示类Date1可以被该类所属的包之外的类使用。 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第6页。 类主体的结构: <类首声明> {    //类首,以下为类主体 <成员变量的声明> <成员方法的声明及实现> } 成员变量即类的数据,反映了类的属性和状态。 成员方法即类的行为(对数据的操作) 例4.2.1:声明一个日期类Date1 public class Date1 { int year,month,day; //成员变量 public void today( ) { //成员方法 System.out.println("Date is"+year+"/"+month+"/"+day); } } Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第7页。 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第8页。 成员变量的声明格式: [<修饰符>] [static] [final] [transient] <变量类型> <变量名> static: 表示是一个类成员变量(静态变量); final: 表示是一个常量; (最终成员变量) 例:final double PI=3.1415926; transient: 表示一个临时变量 修饰符: 表示变量的访问权限(缺省访问、publicprotectedprivate) 作用域:整个类。同一类的所有方法都可以对其访问。并可简单地通过名字来引用。(在方法体内定义的变量是方法变量,作用域只能在方法体内) 例:class Sampleclass{ public int I; method(){ int j; } } Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第9页。 成员方法的声明格式: [<修饰符>]<返回类型> <方法名> ([<参数表列>]) [throws <异常类>] { 方法体 } 修饰符: 方法的访问权限(缺省的、publicprotectedprivate) static: 类方法(静态方法); abstract: 抽象方法(无方法体的方法); final: 最终方法(不能被子类改变)。 throws: 表示抛出异常 Java面向对象程序设计("方法"相关文档)共57张全文共57页,当前为第10页。 public class Date2 { int year,month,day; //设置某一天日期的方法 public voi
JAVA语言与面向对象程序设计作业1 单项选择题 第1题 以下由for语句构成的循环执行的次数是()。 for(int i=0;true;i++); A、有语法错误,不能执行 B、无限次 C、执行1次 D、一次也不执行 答案:B 第2题 以下标识符哪项是不合法的()。 A、BigOlLong$223 B、_utfint C、$12s D、3d 答案:D 第3题 执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()。 A、x[24]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 答案:A 第4题 若在某一个类定义定义有如下的方法: abstract void performDial(); 该方法属于()。 A、本地方法 B、最终方法 C、解态方法 D、抽象方法 答案:D 第5题 以下选项,合法的赋值语句是()。 A、a==1; B、++I; C、a=a+1=5; D、!(++a!=b--); 答案:B 第6题 执行完以下代码int [ ] x = new int[5];后,以下哪项说明是正确的()。 A、x[4]为0 B、x[4]未定义 C、x[5]为0 D、x[0]为空 答案:A 第7题 执行下列程序段后,m,x,y的值分别是()。 int x=2,y=4; boolean m; m=++x>y--; A、true,2,4 B、false,3,3 C、treu,3,3 D、false,2,4 答案:B 第8题 在Java,存放字符串常量的对象属于()类对象。 A、Character B、String C、StringBuffer D、Vector 答案:B 第9题 设有下面的一个类定义: class AA {static void Show(){System.out.println("我喜欢Java!"); }} class BB {void Show(){System.out.println("我喜欢C++!"); }}若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:()。 A、a.Show( ) B、AA.Show( ); b.Show( ); BB.Show( ); C、AA.Show( ) D、a.show( ); b.show( ); ; bb.show( ); 答案:C 第10题 以下for循环的执行次数是()。 for(int x=0;(x==0)&(x>4);x++); A、无限次 B、一次也不执行 C、执行4次 D、执行3次 答案:B 多项选择题 第11题 如下哪些字串是Java的标识符? A、fieldname B、super C、3number D、#number E、mybooks 答案:A"E 第12题 Java如下哪个约束符是正确的? A、private B、public C、protected D、protect E、friend 答案:A"B"C 第13题 如下哪些是Java有效的关键字? A、const B、NULL C、false D、this E、native 答案:A"C"D"E 判断题 第14题 对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相 同的新对象。 答案:错误 第15题 Java的字符类型采用的是ASCII编码。 答案:正确 第16题 Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关。 答案:正确 第17题 Vector类的对象不能是简单数据类型。 答案:正确 第18题 Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 答案:错误 第19题 类及其属性、方法可以同时有一个以上的修饰符来修饰。 答案:正确 第20题 有的类定义时可以不定义构造函数,所以构造函数不是必需的。 答案:错误 JAVA语言与面向对象程序设计作业2 单项选择题 第1题 下面的语句的作用是:()。 Vector MyVector = new Vector(100,50); A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50 B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50 C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50个 元素空间单位递增 D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50个 元素空间单位递增 答案:D 第2题 下面程序段的输出结果是( )。 String MyStr = "Hello,"; MyStr = MyStr+"Guys!"; System.out.println(MySt
Java Web程序设计题库 一、选择题 1、以下文件名后缀,只有( C )不就是静态网页的后缀。 A、、html B、、htm C 、JSP D、、shtml 2、以下文件名后缀,只有( B )不就是动态网页的后缀。 A、、jsp B、、html C、、aspx D、php 3、在page指令,( C )属性就是可以在页面重复的属性。 A、language B、buffer C、import D、autoflush 4、JSP的结构由( B )组成(多选)。 A、指令 B、注释 C、脚本元素 D、操作 5、以下选项,那一项不就是JSP指令( B )。 A、page B、import C、include D、taglib 6、下面哪种数据类型就是基本类型( D )。 A、class B、interface C、数组 D、char 7、下面哪种数据类型就是引用类型( C )。 A、boolean B、int C、interface D、long 8、下面哪一个运算符具有3个操作数( D )。 A、* B、++ C、&& D、?: 9、下面那个运算符只有一个操作数( A )。 A、~ B、"" C、<< D、/ 10、下面那个语句就是条件语句( C )。 A、break语句 B、while语句 C、if语句 D、for语句 11、类成员默认的访问修饰符就是( A )。 A、private B、protected C、public D、空 12、常量使用( C )进行修饰 A、private B、abstract C、final D、static 13、包含Servlet发回到客户端信息的ServletResponse对象就是由( C )创建的。 A. 客户端的浏览器 B. Web服务器的HTTP引擎 C. Web服务器的Servlet容器 D. Servlet对象 14、对于标准的Web网页,通常使用( B )表示响应信息就是HTML格式的文本文件。 A. text/css B、 text/html C.application/vnd、ms-excel D、 application/msword 15、下面哪个方法不属于session对象( D ) A、getAttributeNames() B、getservletContext() C、invalidate() D、addCookie(Cookie cook) 16、下面哪个方法不属于request对象( B ) A、getServerName() B、getServerInfo() C、getServletPath() D、getServerPort() 17、能够获取当前页信息并调用页面方法的对象就是( B ) A、request B、page C、PageContext D、session 18、以下操作,( A )就是与使用JavaBean无关的。 A、jsp:include B、jsp:useBean C、jsp:setProperty D、jsp:getProperty 19、下面哪个不就是jsp:setProperty操作的属性( D )。 A、name B、param C、property D、scope 20、以下方法,哪一个方法不就是HTTPServlet类的方法( B )。 A、doGet B、doService C、doPost D、doDelete 21、以下类,哪一个类不就是javax、servlet与javax、servlet、http包提供的类或 接口( B )。 A、Servlet B、BaseServlet C、GenericServlet D、HTTPServlet 22、与JSP同类型的技术有( C )。 A.CGI B、C/C++ C、ASP D、C# 23、下面( D )不就是JDK的开发包。 A.JavaSE B、JavaME C、JavaEE D、JavaBean 24、Tomcat的默认端口就是( B )。 A.7001 B、8080 C、80 D、112 25、下面不就是JSP本身以加载的基本类的就是( A )。 A、java、lang、*  B、java、io、* C、javax、servlet、* D、javax、servlet、jsp* 26、对于预定义<%!预定义%>的说法错误的就是( C )。 A、一次可以声明多个变量与方法,只要以分毫(;)结尾就行 B、一个声明仅在一个页面有效 C、声明的变量将作为局部变量 D、在预定义声明的变量将在JSP页面初始化时初始化 27、在JSP使用<jsp:getProperty>标记时,不会出现的属性就是( C )。 A、name B、property C

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值