前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java 笔记(一)

Java 笔记(一)

作者头像
yiyun
发布2022-04-01 12:30:54
6320
发布2022-04-01 12:30:54
举报
文章被收录于专栏:yiyun 的专栏

面向对象

继承

代码语言:javascript
复制
Java: class Student extends Person

C#: : class Student : Person

Python: class Student(Person)

Python 支持 多继承,C#,Java均不支持,C++支持多继承 Java: 当一个类未显式继承任何类时,隐式继承object,这点和C#一致,所有类型最后均继承 Object,即 Object 是所有类 祖先类

实现

代码语言:javascript
复制
Java: class Student implements IStudy, ISay

C#: class Student : IStudy, ISay

Python: class Student(IStudy, ISay)

Python接口抽象类和抽象方法 去实现

关键词

super

访问父类成员

代码语言:javascript
复制
Java: super.  

C#: base.  

Python: super(). 

JavaScript: 
访问原型链
Person.prototype.msg  = "abc"
pObj.__proto__.hello = function () {}
this

指向自己的引用

代码语言:javascript
复制
Java: this.

C#: this.

Python: self.

JavaScript: this.
final
Java
  1. 修饰类: 最终类,不能被继承
  2. 修饰方法: 不能被子类重写

final class 类名 { }

修饰符(public/private/default/protected) final 返回值类型 方法名(){ }

注:实例变量也可以被定义为 final, 被定义为 final 的变量不能被修改。 被声明为 final 类的方法自动地声明为 final, 但是实例变量并不是 final

C

该类不能被继承 sealed class 类名 { }

sealed 修饰方法或属性 可允许 类从基类继承,并防止它们重写特定的虚方法或虚属性

sealed 对虚方法或虚属性,也就是同 override 一起使用,若非虚方法或虚属性 会报出错误: cannot be sealed because it is not an override

代码语言:javascript
复制
protected sealed override void N()
{
    Console.WriteLine("B.N()");
}

该方法无法被重写,只要此方法未被标记为 virtual

不过无法被重写,可以被覆盖

显式 覆盖 从父类继承来的方法

public new SameMethod() { }

构造器

构造器就是一方法/函数 方法名与类名相同,可以有多个构造器,允许重载

C

与 Java 相同

Python
代码语言:javascript
复制
def  __ init__(self,arg1,arg2,...):
JavaScript
代码语言:javascript
复制
Person(name, gender) {
    this.name = name;
    this.gender = gender;
}

var p  = new Person("eeee", "man");

JS 的面向对象和其它不同,可以说是面向原型

构造函数完全就是一方法,只是规范此方法首字母大写

访问控制修饰符

Java

保护对类、变量、方法和构造方法的访问 Java 支持 4 种不同 访问权限

  • default(即默认,什么也不写): 在同一包内可见,不使用任何修饰符。 使用对象:类、接口、变量、方法
  • private:在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)
  • public : 对所有类可见。使用对象:类、接口、变量、方法
  • protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。
C
1. 修饰类 访问修饰符
  • internal
    • 内部: 同一程序集下可用
  • public
    • 不同程序集可用

注意: 在C#中,命名空间只是为了区别类,为了方便管理类,无法限 制访问程度

2. 修饰类成员 访问修饰符
  • public
    • 公共,所有
  • private
    • 私有
  • protected
    • 自己及子类
3.其它修饰符
  • sealed
    • 自封,不可继承

非访问 修饰符

Java
  • static 修饰符,用来修饰类方法和类变量。
  • final 修饰符,用来修饰类、方法和变量,final 修饰的类不能够被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。
  • abstract 修饰符,用来创建抽象类和抽象方法。
  • synchronized 和 volatile 修饰符,主要用于线程的编程。

本文作者: yiyun

本文链接: https://cloud.tencent.com/developer/article/1970535

版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 面向对象
      • 继承
      • 实现
      • 关键词
      • 构造器
      • 访问控制修饰符
      • 非访问 修饰符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档