31.static方法

题目:找出错误
public static void main(String[] args){amethod(args);
}
public void amethod(String[] args){Syso(args);Syso(args[1]);
}
//静态方法中不能直接调用非静态方法
//static 修饰方法和属性时,说明是共享的,且只有唯一的一个
//amethod方法不是静态的,只有在创建对象的时候被初始化,通过对象去调用
//调用amethod时报错   可以加上static/创建对象调用
复制代码

** Java语言中,静态static可以修饰属性,可以修饰成员方法。使用static修饰成员后,成员变成类成员,多个对象共享。static方法中可以直接使用static成员,如果调用非static成员,需要使用对象调用。非static方法中,可以直接使用static或非static成员。**

32.static属性

题目;下面的程序片段将输出什么结果?
private int x;
private static int y;
public void addXY(){s++;y++;
}
public static void main(String[] args){TestStatic ts1 = new TestStatic();TestStatic ts2 = new TestStatic();ts1.addXY();ts2.addXY();Syso(ts1.x);Syso(ts1.y);
}
//1 2
复制代码

** 如果属性用static修饰,则成为类属性,所有对象共享。static属性只初始化一次,任何对象对其修改都是修改的是同一个地址空间的值,因此y的值是累加的结果。而非static属性是对象属性,属于每一个对象,每创建一个对象,将初始化一个实例属性,因此x的值不是累加的。**

33.final属性

题目:是否有编译错误?
public class TestFinal{private final int x;private static final int y = 0;
}
//x未被初始化
//直接初始化x  因为x是不能改变的   使用static可以减少创建的x  (x = 9)
//或者在构造方法中初始化x的值,使每个对象都具有自己的final x
eg:public TestFinal(){x=1;
}
//static final  静态常量  命名通常为大写并用下划线隔开
复制代码

** final修饰变量后,变量成为常量,不可被修改。final不仅可以修饰属性,也可以修饰方法中的局部变量。当修饰属性是,要么声明的同时赋值,要么在构造方法为其赋值,不能再其他地方对其修改。如果使用final和static同时修饰时,则必须在声明的同时赋值。**

34.默认构造方法

题目:是否有编译错误?
private int x;
public TestConstructor(int x){this.x = x;
}
public static void main(String[] args){TestConstructor tc = new TestConstructor();//ERROR
}
复制代码

** 在Java类中,如果没有定义任何构造方法,将有一个默认的无参构造方法。如果定义了其他的有参数的构造方法,默认的构造方法即失效。在实际应用中,常常需要使用默认的构造方法,所以要习惯性保证一个类中有一个无参的构造方法。**

35.单继承特性

题目:是否有编译错误?
class Flyer{
}
class Animal{
}
public class Bird extends Flyer,Animal{//ERROR
}
复制代码

** 在Java类中,类与类之间的继承是单继承,也就是说,一个类最多只能有一个父类,但是一个父类可以同时有多个子类、 tips:Java语言中的单继承指的是类与类之间,类与接口之间的关系是可以一对多。**

36.this关键字的作用

eg:
public class Account{private String id;private double balance;private String name;public Account(String id, double balance){this.id = id;this.balance = balance;//id = id;  就近原则  //this:当前的引用  }public Account(String id, double balance, String name){this(id, balance);this.name = name;//调用其他的构造方法,使代码能够重用}public double getBalance(){return balance;}public void setBalance(double balance){this.balance = balance;}
}
复制代码

** this关键字有两个主要作用。第一个作用是指代当前的引用,用来调用当前类的属性和方法。第二个作用是在一个构造方法中,调用另外的构造方法,此时必须在构造方法的第一条语句。**

37.静态方法中的this

题目:是否有编译错误?
private static int level;
public static int test(){return this.level;
}
//在静态方法中不能使用this关键字
//静态方法和对象没有什么关系,this自然是指不到的
复制代码

** this关键字指的是当前的一个引用,而static方法与对象无关,是所有对象共享的,所以不能使用this。**

38.方法重载

** 方法重载是一种多态性的体现,指的是在一个Java类中,可以有多个同名但是不同参数的方法存在。不同参数指的是参数类型不同,或者参数个数不同,或者参数的顺序不同。方法重载主要的作用是能够方便使用。**

39.继承中的构造方法(一)

题目:是否有编译错误?
class Flyer{public Flyer(int i){}
}
public class Bird extends Flyer{}
复制代码

** 默认情况下,子类所有构造方法都调用父类的无参构造方法。而父类中定义了一个有参数的构造方法,默认的无参构造方法就失效,因此将发生编译错误。**

40.继承中的构造方法(二)

题目:是否有编译错误?
class Flyer{public Flyer(int i){}
}
public class Bird extends Flyer{public Bird(int i){//ERROR 默认调用无参的构造方法(super()}
}
//1) 创建父类无参构造方法
//2) 使用super关键字(第一行)
eg:public Bird(int i){super(i);
}
复制代码

** 默认情况下,子类所有构造方法都调用父类的无参构造方法。有两种修改方法,第一个方法是在父类中添加无参构造方法,第二个方法是在子类构造方法中使用super(i)调用父类的构造方法。**

转载于:https://juejin.im/post/5b5eda14518825210575f4c7

网易云课堂Java模拟面试笔记(31-40)相关推荐

  1. 网易云课堂Java进阶学习笔记系列01 -- 第3周 对象容器

    个人为了复习一下Java基础, 在网易云课堂上报了翁恺老师的Java语言程序设计进阶篇的课程, 主要看了其中的3. 对象容器, 6. 设计原则, 7. 抽象与接口, 8. 控制反转与MVC模式这几部分 ...

  2. 网易云课堂Java进阶学习笔记系列03 -- 第7周 抽象与接口

    第七周 抽象与接口 在第一周就有一个Shape类的例子.这个类有很多的子类,每个子类也都实现了父类的方法.实际上父类Shape只是一个抽象的概念而并没有实际的意义. 举例案例理解 如果请你画一个圆,你 ...

  3. 史上最强Tomcat8性能优化,网易云课堂java高级架构师

    点击"Server Status",输入用户名.密码进行登录,tomcat/tomcat 登录之后可以看到服务器状态等信息,主要包括服务器信息,JVM,ajp和http信息 AJP ...

  4. 网易云课堂Java应用基础:入门篇

    第一章:用Eclipse来做计算 1.1第一个Java程序 1.2.1读输入 1.2.2变量 1.2.3赋值 1.3表达式 1.3.1浮点数 1.3.2运算符优先级 1.3.3类型转换 第一章编程题 ...

  5. 网易云课堂Java入门视频课程

    课程概述 本课程不提供教学服务.作业批改及证书发放. 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对于非计算机专业而言,程序设计的学习 ...

  6. 最新《网易云课堂Java入门课程》

    课程概述 本课程不提供教学服务.作业批改及证书发放. 程序设计是一门基础课程.对于计算机相关专业而言,程序设计是专业基础知识,是进一步学习其他专业知识的第一步阶梯:对于非计算机专业而言,程序设计的学习 ...

  7. 网易云课堂微专业--Java高级开发工程师

    获取方式:公众号:文若课堂 ​ 5.微专业-java |    |──大纲.jpg          910.32KB |    |──阶段1:高性能编程专题 |    |    |──1.1.1 J ...

  8. 机器学习-吴恩达网易云课堂笔记

    机器学习-吴恩达网易云课堂笔记 Machine Learning: A computer program is said to learn from experience E with respect ...

  9. 网易云课堂Nodejs笔记(js Function,css,写法)

    网易云课堂Nodejs笔记(js Function,css) CSS position ---网页定位 margin ---元素外边距 padding ---元素内边距 nth-child()选择器 ...

  10. Java高级-云课堂后端项目实战 网易云课堂

    Java高级-云课堂后端项目实战 网易云课堂 课程概述 <Java高级开发工程师>课程包含六大专题,分别是高性能编程专题.中间件专题.容器化技术专题.分布式系统开发技术.后端项目实战及网易 ...

最新文章

  1. 斯坦福统计学习理论笔记:Percy Liang带你搞定「贼难」的理论基础
  2. hdu 5631 Rikka with Graph(无向图的割边)
  3. ios15 LJScrollPageVC第三方框架的使用
  4. linux nginx http cache时间不对,Linux中Nginx设置proxy_cache缓存与取消缓存-linux-操作系统-壹...
  5. 第三十九讲:tapestry 页面加载等待过程(ProgressiveDisplay)组件
  6. form图片上传遇到错误
  7. SparkStreaming kafka zookeeper本地环境调试安装
  8. proxy ip 收集方式总结
  9. Apple Pay的使用
  10. Share Disk、Share Memory和Share Nothing的区别
  11. Hi3519A调试记录
  12. 淘宝客淘客6合一系统小程序APP返利饿了么外卖美团代理分销系统
  13. linux 上传下载测速
  14. 将多个Excel工作簿合并到一个Excel工作簿中
  15. 周公恐惧流言日,王莽谦恭未篡时
  16. 成一单亏一单,医疗电商的苦涩现状
  17. 1岁到1岁半宝宝食谱
  18. 24点游戏java代码 中国开源社区_编程实现一个有GUI的24点游戏
  19. MICCAI 2019 Proceeding 论文集part1-6
  20. 财务自由?这样做微信开发可以吗?

热门文章

  1. python全栈脱产第20天------常用模块---re模块和subprocess模块
  2. 函数式编程可以配合装饰器使用
  3. Myeclipse2014中,新建部署Maven项目
  4. jQuery 实现邮箱输入自动提示功能:(二)
  5. hdu 4314 Save the dwarfs
  6. vc++网络安全编程范例(15)-导出会话密钥
  7. 帮一个同学解决get请求的ajax上传数据,数据放在data里
  8. vs2017环境下编译log4cpp-1.1.3
  9. postman 第4节 切换环境和设置读取变量(转)
  10. 设计模式-1-单例模式